From 8b8625704e48146c106f9a88c4c43ba0be24f458 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Mon, 17 Jun 2024 07:09:57 +0100 Subject: [PATCH 01/45] Added a Percona specific definition to pg_config, allowing our extension to see if custom features can be used --- src/include/pg_config_manual.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index f941ee2faf86b..9dc31cb64a632 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h @@ -383,3 +383,8 @@ * Enable tracing of syncscan operations (see also the trace_syncscan GUC var). */ /* #define TRACE_SYNCSCAN */ + +/* + * Enable Percona specific features, should always be defined in this fork + */ +#define PERCONA_FORK 1 From 5b0d92a0dbc6fd772d9dbce27f21fddd947d5107 Mon Sep 17 00:00:00 2001 From: Andrew Pogrebnoy Date: Wed, 24 Apr 2024 19:59:14 +0300 Subject: [PATCH 02/45] Make XLog storage extensible and allow extensions to override it For now, it extends on `pread` and `pwrite` from/into segment files. This is the minimum we need for full XLog encryption with pg_de. --- src/backend/access/transam/xlog.c | 3 ++- src/backend/access/transam/xlogreader.c | 18 ++++++++++++++++- src/backend/access/transam/xlogrecovery.c | 3 ++- src/backend/replication/walreceiver.c | 3 ++- src/include/access/xlog_internal.h | 4 +++- src/include/access/xlog_smgr.h | 24 +++++++++++++++++++++++ 6 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 src/include/access/xlog_smgr.h diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 7f1360262776b..c225e778bde2c 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -61,6 +61,7 @@ #include "access/xloginsert.h" #include "access/xlogreader.h" #include "access/xlogrecovery.h" +#include "access/xlog_smgr.h" #include "access/xlogutils.h" #include "backup/basebackup.h" #include "catalog/catversion.h" @@ -2442,7 +2443,7 @@ XLogWrite(XLogwrtRqst WriteRqst, TimeLineID tli, bool flexible) INSTR_TIME_SET_ZERO(start); pgstat_report_wait_start(WAIT_EVENT_WAL_WRITE); - written = pg_pwrite(openLogFile, from, nleft, startoffset); + written = xlog_smgr->seg_write(openLogFile, from, nleft, startoffset); pgstat_report_wait_end(); /* diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c index 37d2a57961d0d..5920c70a88dba 100644 --- a/src/backend/access/transam/xlogreader.c +++ b/src/backend/access/transam/xlogreader.c @@ -29,6 +29,7 @@ #include "access/xlog_internal.h" #include "access/xlogreader.h" #include "access/xlogrecord.h" +#include "access/xlog_smgr.h" #include "catalog/pg_control.h" #include "common/pg_lzcompress.h" #include "replication/origin.h" @@ -63,6 +64,21 @@ static void WALOpenSegmentInit(WALOpenSegment *seg, WALSegmentContext *segcxt, */ #define DEFAULT_DECODE_BUFFER_SIZE (64 * 1024) +/* + * XLog storage manager + * + * TODO: should be in xlog.c or new xlog_smgr.c ? + * Now it's here because pg_rewind and other tools compile only + * w/ xlogreader.c + */ +XLogSmgr *xlog_smgr = &xlog_smgr_standard; + +void +SetXLogSmgr(XLogSmgr *xlsmgr) +{ + xlog_smgr = xlsmgr; +} + /* * Construct a string in state->errormsg_buf explaining what's wrong with * the current record being read. @@ -1557,7 +1573,7 @@ WALRead(XLogReaderState *state, /* Reset errno first; eases reporting non-errno-affecting errors */ errno = 0; - readbytes = pg_pread(state->seg.ws_file, p, segbytes, (off_t) startoff); + readbytes = xlog_smgr->seg_read(state->seg.ws_file, p, segbytes, (off_t) startoff); #ifndef FRONTEND pgstat_report_wait_end(); diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index b45b833172005..11050da260795 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -39,6 +39,7 @@ #include "access/xlogprefetcher.h" #include "access/xlogreader.h" #include "access/xlogrecovery.h" +#include "access/xlog_smgr.h" #include "access/xlogutils.h" #include "backup/basebackup.h" #include "catalog/pg_control.h" @@ -3397,7 +3398,7 @@ XLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr, int reqLen, readOff = targetPageOff; pgstat_report_wait_start(WAIT_EVENT_WAL_READ); - r = pg_pread(readFile, readBuf, XLOG_BLCKSZ, (off_t) readOff); + r = xlog_smgr->seg_read(readFile, readBuf, XLOG_BLCKSZ, (off_t) readOff); if (r != XLOG_BLCKSZ) { char fname[MAXFNAMELEN]; diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index acda5f68d9a8b..fd347b129ff93 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -57,6 +57,7 @@ #include "access/xlog_internal.h" #include "access/xlogarchive.h" #include "access/xlogrecovery.h" +#include "access/xlog_smgr.h" #include "catalog/pg_authid.h" #include "funcapi.h" #include "libpq/pqformat.h" @@ -941,7 +942,7 @@ XLogWalRcvWrite(char *buf, Size nbytes, XLogRecPtr recptr, TimeLineID tli) /* OK to write the logs */ errno = 0; - byteswritten = pg_pwrite(recvFile, buf, segbytes, (off_t) startoff); + byteswritten = xlog_smgr->seg_write(recvFile, buf, segbytes, (off_t) startoff); if (byteswritten <= 0) { char xlogfname[MAXFNAMELEN]; diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h index c6a91fb456055..1b164a3b5a774 100644 --- a/src/include/access/xlog_internal.h +++ b/src/include/access/xlog_internal.h @@ -78,8 +78,10 @@ typedef XLogLongPageHeaderData *XLogLongPageHeader; #define XLP_BKP_REMOVABLE 0x0004 /* Replaces a missing contrecord; see CreateOverwriteContrecordRecord */ #define XLP_FIRST_IS_OVERWRITE_CONTRECORD 0x0008 +/* The page is encrypted */ +#define XLP_ENCRYPTED 0x0010 /* All defined flag bits in xlp_info (used for validity checking of header) */ -#define XLP_ALL_FLAGS 0x000F +#define XLP_ALL_FLAGS 0x001F #define XLogPageHeaderSize(hdr) \ (((hdr)->xlp_info & XLP_LONG_HEADER) ? SizeOfXLogLongPHD : SizeOfXLogShortPHD) diff --git a/src/include/access/xlog_smgr.h b/src/include/access/xlog_smgr.h new file mode 100644 index 0000000000000..49554320a4b99 --- /dev/null +++ b/src/include/access/xlog_smgr.h @@ -0,0 +1,24 @@ +#ifndef XLOG_SMGR_H +#define XLOG_SMGR_H + +#include "postgres.h" + +#include + +/* XLog storage manager interface */ +typedef struct XLogSmgr { + ssize_t (*seg_read) (int fd, void *buf, size_t count, off_t offset); + + ssize_t (*seg_write) (int fd, const void *buf, size_t count, off_t offset); +} XLogSmgr; + +/* Default (standard) XLog storage manager */ +static const XLogSmgr xlog_smgr_standard = { + .seg_read = pg_pread, + .seg_write = pg_pwrite, +}; + +extern XLogSmgr *xlog_smgr; +extern void SetXLogSmgr(XLogSmgr *xlsmgr); + +#endif /* XLOG_SMGR_H */ From d3b6712b840b1d637fde0c60250d37687d3cbc5f Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Mon, 15 Apr 2024 19:52:59 +0100 Subject: [PATCH 03/45] Added pg_tde as submodule following the smgr branch --- .gitmodules | 4 ++++ contrib/pg_tde | 1 + 2 files changed, 5 insertions(+) create mode 100644 .gitmodules create mode 160000 contrib/pg_tde diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000..21078cb7f88f3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "contrib/pg_tde"] + path = contrib/pg_tde + url = https://github.com/Percona-Lab/pg_tde.git + branch = smgr diff --git a/contrib/pg_tde b/contrib/pg_tde new file mode 160000 index 0000000000000..36f6d6bff8f67 --- /dev/null +++ b/contrib/pg_tde @@ -0,0 +1 @@ +Subproject commit 36f6d6bff8f67ffa9b3f84a5d548512f86f0d7b7 From 087cf92b30c8b7ed92314e40c8e71dd65e24b3be Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Mon, 8 Apr 2024 16:33:16 +0100 Subject: [PATCH 04/45] added pg_tde to meson build --- contrib/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/meson.build b/contrib/meson.build index 14a8906865063..ce5630d64aee5 100644 --- a/contrib/meson.build +++ b/contrib/meson.build @@ -51,6 +51,7 @@ subdir('pgrowlocks') subdir('pg_stat_statements') subdir('pgstattuple') subdir('pg_surgery') +subdir('pg_tde') subdir('pg_trgm') subdir('pg_visibility') subdir('pg_walinspect') From 11271a15d14bf9ce7be738447ed03244d29e66f6 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Sun, 7 Apr 2024 18:46:22 +0100 Subject: [PATCH 05/45] Applied patch --- contrib/Makefile | 1 + contrib/fsync_checker/fsync_checker.control | 5 + contrib/fsync_checker/fsync_checker_smgr.c | 250 ++++++++++++++++++++ contrib/fsync_checker/meson.build | 22 ++ contrib/meson.build | 1 + src/backend/access/transam/xlog.c | 5 + src/backend/postmaster/postmaster.c | 5 + src/backend/storage/smgr/md.c | 173 +++++++++----- src/backend/storage/smgr/smgr.c | 134 ++++++----- src/backend/utils/init/miscinit.c | 15 ++ src/include/access/xlog.h | 4 + src/include/miscadmin.h | 1 + src/include/storage/md.h | 6 + src/include/storage/smgr.h | 62 ++++- 14 files changed, 551 insertions(+), 133 deletions(-) create mode 100644 contrib/fsync_checker/fsync_checker.control create mode 100644 contrib/fsync_checker/fsync_checker_smgr.c create mode 100644 contrib/fsync_checker/meson.build diff --git a/contrib/Makefile b/contrib/Makefile index abd780f277405..091dd9e33228a 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -19,6 +19,7 @@ SUBDIRS = \ dict_int \ dict_xsyn \ earthdistance \ + fsync_checker \ file_fdw \ fuzzystrmatch \ hstore \ diff --git a/contrib/fsync_checker/fsync_checker.control b/contrib/fsync_checker/fsync_checker.control new file mode 100644 index 0000000000000..7d0e36434bfaf --- /dev/null +++ b/contrib/fsync_checker/fsync_checker.control @@ -0,0 +1,5 @@ +# fsync_checker extension +comment = 'SMGR extension for checking volatile writes' +default_version = '1.0' +module_pathname = '$libdir/fsync_checker' +relocatable = true diff --git a/contrib/fsync_checker/fsync_checker_smgr.c b/contrib/fsync_checker/fsync_checker_smgr.c new file mode 100644 index 0000000000000..17d0accb1eeba --- /dev/null +++ b/contrib/fsync_checker/fsync_checker_smgr.c @@ -0,0 +1,250 @@ +#include "postgres.h" + +#include "access/xlog.h" +#include "fmgr.h" +#include "miscadmin.h" +#include "storage/ipc.h" +#include "storage/lwlock.h" +#include "storage/shmem.h" +#include "storage/smgr.h" +#include "storage/md.h" +#include "utils/hsearch.h" + +PG_MODULE_MAGIC; + +typedef struct volatileRelnKey +{ + RelFileLocator locator; + ForkNumber forknum; +} volatileRelnKey; + +typedef struct volatileRelnEntry +{ + volatileRelnKey key; + XLogRecPtr lsn; +} volatileRelnEntry; + +void _PG_init(void); + +static void fsync_checker_extend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + const void *buffer, bool skipFsync); +static void fsync_checker_immedsync(SMgrRelation reln, ForkNumber forknum); +static void fsync_checker_writev(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, const void **buffers, + BlockNumber nblocks, bool skipFsync); +static void fsync_checker_writeback(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, BlockNumber nblocks); +static void fsync_checker_zeroextend(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks, bool skipFsync); + +static void fsync_checker_checkpoint_create(const CheckPoint *checkPoint); +static void fsync_checker_shmem_request(void); +static void fsync_checker_shmem_startup(void); + +static void add_reln(SMgrRelation reln, ForkNumber forknum); +static void remove_reln(SMgrRelation reln, ForkNumber forknum); + +static SMgrId fsync_checker_smgr_id; +static const struct f_smgr fsync_checker_smgr = { + .name = "fsync_checker", + .smgr_init = mdinit, + .smgr_shutdown = NULL, + .smgr_open = mdopen, + .smgr_close = mdclose, + .smgr_create = mdcreate, + .smgr_exists = mdexists, + .smgr_unlink = mdunlink, + .smgr_extend = fsync_checker_extend, + .smgr_zeroextend = fsync_checker_zeroextend, + .smgr_prefetch = mdprefetch, + .smgr_readv = mdreadv, + .smgr_writev = fsync_checker_writev, + .smgr_writeback = fsync_checker_writeback, + .smgr_nblocks = mdnblocks, + .smgr_truncate = mdtruncate, + .smgr_immedsync = fsync_checker_immedsync, + .smgr_registersync = mdregistersync, +}; + +static HTAB *volatile_relns; +static LWLock *volatile_relns_lock; +static shmem_request_hook_type prev_shmem_request_hook; +static shmem_startup_hook_type prev_shmem_startup_hook; +static checkpoint_create_hook_type prev_checkpoint_create_hook; + +void +_PG_init(void) +{ + prev_checkpoint_create_hook = checkpoint_create_hook; + checkpoint_create_hook = fsync_checker_checkpoint_create; + + prev_shmem_request_hook = shmem_request_hook; + shmem_request_hook = fsync_checker_shmem_request; + + prev_shmem_startup_hook = shmem_startup_hook; + shmem_startup_hook = fsync_checker_shmem_startup; + + /* + * Relation size of 0 means we can just defer to md, but it would be nice + * to just expose this functionality, so if I needed my own relation, I + * could use MdSmgrRelation as the parent. + */ + fsync_checker_smgr_id = smgr_register(&fsync_checker_smgr, 0); + + storage_manager_id = fsync_checker_smgr_id; +} + +static void +fsync_checker_checkpoint_create(const CheckPoint *checkPoint) +{ + long num_entries; + HASH_SEQ_STATUS status; + volatileRelnEntry *entry; + + if (prev_checkpoint_create_hook) + prev_checkpoint_create_hook(checkPoint); + + LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); + + hash_seq_init(&status, volatile_relns); + + num_entries = hash_get_num_entries(volatile_relns); + elog(INFO, "Analyzing %ld volatile relations", num_entries); + while ((entry = hash_seq_search(&status))) + { + if (entry->lsn < checkPoint->redo) + { + char *path; + + path = relpathperm(entry->key.locator, entry->key.forknum); + + elog(WARNING, "Relation not previously synced: %s", path); + + pfree(path); + } + } + + LWLockRelease(volatile_relns_lock); +} + +static void +fsync_checker_shmem_request(void) +{ + if (prev_shmem_request_hook) + prev_shmem_request_hook(); + + RequestAddinShmemSpace(hash_estimate_size(1024, sizeof(volatileRelnEntry))); + RequestNamedLWLockTranche("fsync_checker volatile relns lock", 1); +} + +static void +fsync_checker_shmem_startup(void) +{ + HASHCTL ctl; + + if (prev_shmem_startup_hook) + prev_shmem_startup_hook(); + + ctl.keysize = sizeof(volatileRelnKey); + ctl.entrysize = sizeof(volatileRelnEntry); + volatile_relns = NULL; + volatile_relns_lock = NULL; + + /* + * Create or attach to the shared memory state, including hash table + */ + LWLockAcquire(AddinShmemInitLock, LW_EXCLUSIVE); + + volatile_relns = ShmemInitHash("fsync_checker volatile relns", + 1024, 1024, &ctl, HASH_BLOBS | HASH_ELEM); + volatile_relns_lock = &GetNamedLWLockTranche("fsync_checker volatile relns lock")->lock; + + LWLockRelease(AddinShmemInitLock); +} + +static void +add_reln(SMgrRelation reln, ForkNumber forknum) +{ + bool found; + XLogRecPtr lsn; + volatileRelnKey key; + volatileRelnEntry *entry; + + key.locator = reln->smgr_rlocator.locator; + key.forknum = forknum; + + lsn = GetXLogWriteRecPtr(); + + LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); + + entry = hash_search(volatile_relns, &key, HASH_ENTER, &found); + if (!found) + entry->lsn = lsn; + + LWLockRelease(volatile_relns_lock); +} + +static void +remove_reln(SMgrRelation reln, ForkNumber forknum) +{ + volatileRelnKey key; + + key.locator = reln->smgr_rlocator.locator; + key.forknum = forknum; + + LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); + + hash_search(volatile_relns, &key, HASH_REMOVE, NULL); + + LWLockRelease(volatile_relns_lock); +} + +static void +fsync_checker_extend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + const void *buffer, bool skipFsync) +{ + if (!SmgrIsTemp(reln) && !skipFsync) + add_reln(reln, forknum); + + mdextend(reln, forknum, blocknum, buffer, skipFsync); +} + +static void +fsync_checker_immedsync(SMgrRelation reln, ForkNumber forknum) +{ + if (!SmgrIsTemp(reln)) + remove_reln(reln, forknum); + + mdimmedsync(reln, forknum); +} + +static void +fsync_checker_writev(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, const void **buffers, + BlockNumber nblocks, bool skipFsync) +{ + if (!SmgrIsTemp(reln) && !skipFsync) + add_reln(reln, forknum); + + mdwritev(reln, forknum, blocknum, buffers, nblocks, skipFsync); +} + +static void +fsync_checker_writeback(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, BlockNumber nblocks) +{ + if (!SmgrIsTemp(reln)) + remove_reln(reln, forknum); + + mdwriteback(reln, forknum, blocknum, nblocks); +} + +static void +fsync_checker_zeroextend(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks, bool skipFsync) +{ + if (!SmgrIsTemp(reln) && !skipFsync) + add_reln(reln, forknum); + + mdzeroextend(reln, forknum, blocknum, nblocks, skipFsync); +} diff --git a/contrib/fsync_checker/meson.build b/contrib/fsync_checker/meson.build new file mode 100644 index 0000000000000..ce6ed7fe90bbb --- /dev/null +++ b/contrib/fsync_checker/meson.build @@ -0,0 +1,22 @@ +# Copyright (c) 2023, PostgreSQL Global Development Group + +fsync_checker_sources = files( + 'fsync_checker_smgr.c', +) + +if host_system == 'windows' + fsync_checker_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ + '--NAME', 'fsync_checker', + '--FILEDESC', 'fsync_checker - SMGR extension for checking volatile relations',]) +endif + +fsync_checker = shared_module('fsync_checker', + fsync_checker_sources, + kwargs: contrib_mod_args, +) +contrib_targets += fsync_checker + +install_data( + 'fsync_checker.control', + kwargs: contrib_data_args, +) diff --git a/contrib/meson.build b/contrib/meson.build index ce5630d64aee5..907c3f4fd18a8 100644 --- a/contrib/meson.build +++ b/contrib/meson.build @@ -28,6 +28,7 @@ subdir('dict_int') subdir('dict_xsyn') subdir('earthdistance') subdir('file_fdw') +subdir('fsync_checker') subdir('fuzzystrmatch') subdir('hstore') subdir('hstore_plperl') diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index c225e778bde2c..9d3ca4dc7e431 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -209,6 +209,8 @@ const struct config_enum_entry archive_mode_options[] = { */ CheckpointStatsData CheckpointStats; +checkpoint_create_hook_type checkpoint_create_hook = NULL; + /* * During recovery, lastFullPageWrites keeps track of full_page_writes that * the replayed WAL records indicate. It's initialized with full_page_writes @@ -7095,6 +7097,9 @@ CreateCheckPoint(int flags) */ END_CRIT_SECTION(); + if (checkpoint_create_hook != NULL) + checkpoint_create_hook(&checkPoint); + /* * In some cases there are groups of actions that must all occur on one * side or the other of a checkpoint record. Before flushing the diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index bf0241aed0ced..36f0bcc75a3a6 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -907,6 +907,11 @@ PostmasterMain(int argc, char *argv[]) */ ApplyLauncherRegister(); + /* + * Register built-in managers that are not part of static arrays + */ + register_builtin_dynamic_managers(); + /* * process any libraries that should be preloaded at postmaster start */ diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index 6796756358f34..f3e52b2b15884 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -84,6 +84,21 @@ typedef struct _MdfdVec } MdfdVec; static MemoryContext MdCxt; /* context for all MdfdVec objects */ +SMgrId MdSMgrId; + +typedef struct MdSMgrRelationData +{ + /* parent data */ + SMgrRelationData reln; + /* + * for md.c; per-fork arrays of the number of open segments + * (md_num_open_segs) and the segments themselves (md_seg_fds). + */ + int md_num_open_segs[MAX_FORKNUM + 1]; + struct _MdfdVec *md_seg_fds[MAX_FORKNUM + 1]; +} MdSMgrRelationData; + +typedef MdSMgrRelationData *MdSMgrRelation; /* Populate a file tag describing an md.c segment file. */ @@ -118,26 +133,53 @@ static MemoryContext MdCxt; /* context for all MdfdVec objects */ #define EXTENSION_DONT_OPEN (1 << 5) +void mdsmgr_register(void) +{ + /* magnetic disk */ + f_smgr md_smgr = (f_smgr) { + .name = MdSMgrName, + .smgr_init = mdinit, + .smgr_shutdown = NULL, + .smgr_open = mdopen, + .smgr_close = mdclose, + .smgr_create = mdcreate, + .smgr_exists = mdexists, + .smgr_unlink = mdunlink, + .smgr_extend = mdextend, + .smgr_zeroextend = mdzeroextend, + .smgr_prefetch = mdprefetch, + .smgr_readv = mdreadv, + .smgr_writev = mdwritev, + .smgr_writeback = mdwriteback, + .smgr_nblocks = mdnblocks, + .smgr_truncate = mdtruncate, + .smgr_immedsync = mdimmedsync, + .smgr_registersync = mdregistersync, + }; + + MdSMgrId = smgr_register(&md_smgr, sizeof(MdSMgrRelationData)); +} + /* local routines */ static void mdunlinkfork(RelFileLocatorBackend rlocator, ForkNumber forknum, bool isRedo); -static MdfdVec *mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior); -static void register_dirty_segment(SMgrRelation reln, ForkNumber forknum, +static MdfdVec *mdopenfork(MdSMgrRelation reln, ForkNumber forknum, int behavior); +static void register_dirty_segment(MdSMgrRelation reln, ForkNumber forknum, MdfdVec *seg); static void register_unlink_segment(RelFileLocatorBackend rlocator, ForkNumber forknum, BlockNumber segno); static void register_forget_request(RelFileLocatorBackend rlocator, ForkNumber forknum, BlockNumber segno); -static void _fdvec_resize(SMgrRelation reln, +static void _fdvec_resize(MdSMgrRelation reln, ForkNumber forknum, int nseg); -static char *_mdfd_segpath(SMgrRelation reln, ForkNumber forknum, +static char *_mdfd_segpath(MdSMgrRelation reln, ForkNumber forknum, BlockNumber segno); -static MdfdVec *_mdfd_openseg(SMgrRelation reln, ForkNumber forknum, +static MdfdVec *_mdfd_openseg(MdSMgrRelation reln, ForkNumber forknum, BlockNumber segno, int oflags); -static MdfdVec *_mdfd_getseg(SMgrRelation reln, ForkNumber forknum, +static MdfdVec *_mdfd_getseg(MdSMgrRelation reln, ForkNumber forknum, BlockNumber blkno, bool skipFsync, int behavior); -static BlockNumber _mdnblocks(SMgrRelation reln, ForkNumber forknum, +static BlockNumber _mdnblocks(MdSMgrRelation reln, ForkNumber forknum, MdfdVec *seg); static inline int @@ -170,6 +212,8 @@ mdinit(void) bool mdexists(SMgrRelation reln, ForkNumber forknum) { + MdSMgrRelation mdreln = (MdSMgrRelation) reln; + /* * Close it first, to ensure that we notice if the fork has been unlinked * since we opened it. As an optimization, we can skip that in recovery, @@ -178,7 +222,7 @@ mdexists(SMgrRelation reln, ForkNumber forknum) if (!InRecovery) mdclose(reln, forknum); - return (mdopenfork(reln, forknum, EXTENSION_RETURN_NULL) != NULL); + return (mdopenfork(mdreln, forknum, EXTENSION_RETURN_NULL) != NULL); } /* @@ -192,11 +236,13 @@ mdcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo) MdfdVec *mdfd; char *path; File fd; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; + // Assert(reln->smgr_which == MdSMgrId); - if (isRedo && reln->md_num_open_segs[forknum] > 0) + if (isRedo && mdreln->md_num_open_segs[forknum] > 0) return; /* created and opened already... */ - Assert(reln->md_num_open_segs[forknum] == 0); + Assert(mdreln->md_num_open_segs[forknum] == 0); /* * We may be using the target table space for the first time in this @@ -233,13 +279,13 @@ mdcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo) pfree(path); - _fdvec_resize(reln, forknum, 1); - mdfd = &reln->md_seg_fds[forknum][0]; + _fdvec_resize(mdreln, forknum, 1); + mdfd = &mdreln->md_seg_fds[forknum][0]; mdfd->mdfd_vfd = fd; mdfd->mdfd_segno = 0; if (!SmgrIsTemp(reln)) - register_dirty_segment(reln, forknum, mdfd); + register_dirty_segment(mdreln, forknum, mdfd); } /* @@ -463,6 +509,7 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, off_t seekpos; int nbytes; MdfdVec *v; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; /* If this build supports direct I/O, the buffer must be I/O aligned. */ if (PG_O_DIRECT != 0 && PG_IO_ALIGN_SIZE <= BLCKSZ) @@ -486,7 +533,7 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, relpath(reln->smgr_rlocator, forknum), InvalidBlockNumber))); - v = _mdfd_getseg(reln, forknum, blocknum, skipFsync, EXTENSION_CREATE); + v = _mdfd_getseg(mdreln, forknum, blocknum, skipFsync, EXTENSION_CREATE); seekpos = (off_t) BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)); @@ -510,9 +557,9 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, } if (!skipFsync && !SmgrIsTemp(reln)) - register_dirty_segment(reln, forknum, v); + register_dirty_segment(mdreln, forknum, v); - Assert(_mdnblocks(reln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); + Assert(_mdnblocks(mdreln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); } /* @@ -528,6 +575,7 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, MdfdVec *v; BlockNumber curblocknum = blocknum; int remblocks = nblocks; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; Assert(nblocks > 0); @@ -559,7 +607,7 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, else numblocks = remblocks; - v = _mdfd_getseg(reln, forknum, curblocknum, skipFsync, EXTENSION_CREATE); + v = _mdfd_getseg(mdreln, forknum, curblocknum, skipFsync, EXTENSION_CREATE); Assert(segstartblock < RELSEG_SIZE); Assert(segstartblock + numblocks <= RELSEG_SIZE); @@ -614,9 +662,9 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, } if (!skipFsync && !SmgrIsTemp(reln)) - register_dirty_segment(reln, forknum, v); + register_dirty_segment(mdreln, forknum, v); - Assert(_mdnblocks(reln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); + Assert(_mdnblocks(mdreln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); remblocks -= numblocks; curblocknum += numblocks; @@ -634,7 +682,7 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, * invent one out of whole cloth. */ static MdfdVec * -mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior) +mdopenfork(MdSMgrRelation reln, ForkNumber forknum, int behavior) { MdfdVec *mdfd; char *path; @@ -644,7 +692,7 @@ mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior) if (reln->md_num_open_segs[forknum] > 0) return &reln->md_seg_fds[forknum][0]; - path = relpath(reln->smgr_rlocator, forknum); + path = relpath(reln->reln.smgr_rlocator, forknum); fd = PathNameOpenFile(path, _mdfd_open_flags()); @@ -679,9 +727,10 @@ mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior) void mdopen(SMgrRelation reln) { + MdSMgrRelation mdreln = (MdSMgrRelation) reln; /* mark it not open */ for (int forknum = 0; forknum <= MAX_FORKNUM; forknum++) - reln->md_num_open_segs[forknum] = 0; + mdreln->md_num_open_segs[forknum] = 0; } /* @@ -690,7 +739,8 @@ mdopen(SMgrRelation reln) void mdclose(SMgrRelation reln, ForkNumber forknum) { - int nopensegs = reln->md_num_open_segs[forknum]; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; + int nopensegs = mdreln->md_num_open_segs[forknum]; /* No work if already closed */ if (nopensegs == 0) @@ -699,10 +749,10 @@ mdclose(SMgrRelation reln, ForkNumber forknum) /* close segments starting from the end */ while (nopensegs > 0) { - MdfdVec *v = &reln->md_seg_fds[forknum][nopensegs - 1]; + MdfdVec *v = &mdreln->md_seg_fds[forknum][nopensegs - 1]; FileClose(v->mdfd_vfd); - _fdvec_resize(reln, forknum, nopensegs - 1); + _fdvec_resize(mdreln, forknum, nopensegs - 1); nopensegs--; } } @@ -715,6 +765,7 @@ mdprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, int nblocks) { #ifdef USE_PREFETCH + MdSMgrRelation mdreln = (MdSMgrRelation) reln; Assert((io_direct_flags & IO_DIRECT_DATA) == 0); @@ -727,7 +778,7 @@ mdprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, MdfdVec *v; int nblocks_this_segment; - v = _mdfd_getseg(reln, forknum, blocknum, false, + v = _mdfd_getseg(mdreln, forknum, blocknum, false, InRecovery ? EXTENSION_RETURN_NULL : EXTENSION_FAIL); if (v == NULL) return false; @@ -810,6 +861,8 @@ void mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, void **buffers, BlockNumber nblocks) { + MdSMgrRelation mdreln = (MdSMgrRelation) reln; + while (nblocks > 0) { struct iovec iov[PG_IOV_MAX]; @@ -821,7 +874,7 @@ mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, size_t transferred_this_segment; size_t size_this_segment; - v = _mdfd_getseg(reln, forknum, blocknum, false, + v = _mdfd_getseg(mdreln, forknum, blocknum, false, EXTENSION_FAIL | EXTENSION_CREATE_RECOVERY); seekpos = (off_t) BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)); @@ -928,6 +981,8 @@ void mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, const void **buffers, BlockNumber nblocks, bool skipFsync) { + MdSMgrRelation mdreln = (MdSMgrRelation) reln; + /* This assert is too expensive to have on normally ... */ #ifdef CHECK_WRITE_VS_EXTEND Assert((uint64) blocknum + (uint64) nblocks <= (uint64) mdnblocks(reln, forknum)); @@ -944,7 +999,7 @@ mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, size_t transferred_this_segment; size_t size_this_segment; - v = _mdfd_getseg(reln, forknum, blocknum, skipFsync, + v = _mdfd_getseg(mdreln, forknum, blocknum, skipFsync, EXTENSION_FAIL | EXTENSION_CREATE_RECOVERY); seekpos = (off_t) BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)); @@ -1011,7 +1066,7 @@ mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, } if (!skipFsync && !SmgrIsTemp(reln)) - register_dirty_segment(reln, forknum, v); + register_dirty_segment(mdreln, forknum, v); nblocks -= nblocks_this_segment; buffers += nblocks_this_segment; @@ -1030,6 +1085,7 @@ void mdwriteback(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, BlockNumber nblocks) { + MdSMgrRelation mdreln = (MdSMgrRelation) reln; Assert((io_direct_flags & IO_DIRECT_DATA) == 0); /* @@ -1044,7 +1100,7 @@ mdwriteback(SMgrRelation reln, ForkNumber forknum, int segnum_start, segnum_end; - v = _mdfd_getseg(reln, forknum, blocknum, true /* not used */ , + v = _mdfd_getseg(mdreln, forknum, blocknum, true /* not used */ , EXTENSION_DONT_OPEN); /* @@ -1091,11 +1147,12 @@ mdnblocks(SMgrRelation reln, ForkNumber forknum) MdfdVec *v; BlockNumber nblocks; BlockNumber segno; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; - mdopenfork(reln, forknum, EXTENSION_FAIL); + mdopenfork(mdreln, forknum, EXTENSION_FAIL); /* mdopen has opened the first segment */ - Assert(reln->md_num_open_segs[forknum] > 0); + Assert(mdreln->md_num_open_segs[forknum] > 0); /* * Start from the last open segments, to avoid redundant seeks. We have @@ -1110,12 +1167,12 @@ mdnblocks(SMgrRelation reln, ForkNumber forknum) * that's OK because the checkpointer never needs to compute relation * size.) */ - segno = reln->md_num_open_segs[forknum] - 1; - v = &reln->md_seg_fds[forknum][segno]; + segno = mdreln->md_num_open_segs[forknum] - 1; + v = &mdreln->md_seg_fds[forknum][segno]; for (;;) { - nblocks = _mdnblocks(reln, forknum, v); + nblocks = _mdnblocks(mdreln, forknum, v); if (nblocks > ((BlockNumber) RELSEG_SIZE)) elog(FATAL, "segment too big"); if (nblocks < ((BlockNumber) RELSEG_SIZE)) @@ -1133,7 +1190,7 @@ mdnblocks(SMgrRelation reln, ForkNumber forknum) * undermines _mdfd_getseg's attempts to notice and report an error * upon access to a missing segment. */ - v = _mdfd_openseg(reln, forknum, segno, 0); + v = _mdfd_openseg(mdreln, forknum, segno, 0); if (v == NULL) return segno * ((BlockNumber) RELSEG_SIZE); } @@ -1148,6 +1205,7 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) BlockNumber curnblk; BlockNumber priorblocks; int curopensegs; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; /* * NOTE: mdnblocks makes sure we have opened all active segments, so that @@ -1171,14 +1229,14 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) * Truncate segments, starting at the last one. Starting at the end makes * managing the memory for the fd array easier, should there be errors. */ - curopensegs = reln->md_num_open_segs[forknum]; + curopensegs = mdreln->md_num_open_segs[forknum]; while (curopensegs > 0) { MdfdVec *v; priorblocks = (curopensegs - 1) * RELSEG_SIZE; - v = &reln->md_seg_fds[forknum][curopensegs - 1]; + v = &mdreln->md_seg_fds[forknum][curopensegs - 1]; if (priorblocks > nblocks) { @@ -1193,13 +1251,13 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) FilePathName(v->mdfd_vfd)))); if (!SmgrIsTemp(reln)) - register_dirty_segment(reln, forknum, v); + register_dirty_segment(mdreln, forknum, v); /* we never drop the 1st segment */ - Assert(v != &reln->md_seg_fds[forknum][0]); + Assert(v != &mdreln->md_seg_fds[forknum][0]); FileClose(v->mdfd_vfd); - _fdvec_resize(reln, forknum, curopensegs - 1); + _fdvec_resize(mdreln, forknum, curopensegs - 1); } else if (priorblocks + ((BlockNumber) RELSEG_SIZE) > nblocks) { @@ -1219,7 +1277,7 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) FilePathName(v->mdfd_vfd), nblocks))); if (!SmgrIsTemp(reln)) - register_dirty_segment(reln, forknum, v); + register_dirty_segment(mdreln, forknum, v); } else { @@ -1292,6 +1350,7 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) { int segno; int min_inactive_seg; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; /* * NOTE: mdnblocks makes sure we have opened all active segments, so that @@ -1299,7 +1358,7 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) */ mdnblocks(reln, forknum); - min_inactive_seg = segno = reln->md_num_open_segs[forknum]; + min_inactive_seg = segno = mdreln->md_num_open_segs[forknum]; /* * Temporarily open inactive segments, then close them after sync. There @@ -1307,12 +1366,12 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) * is harmless. We don't bother to clean them up and take a risk of * further trouble. The next mdclose() will soon close them. */ - while (_mdfd_openseg(reln, forknum, segno, 0) != NULL) + while (_mdfd_openseg(mdreln, forknum, segno, 0) != NULL) segno++; while (segno > 0) { - MdfdVec *v = &reln->md_seg_fds[forknum][segno - 1]; + MdfdVec *v = &mdreln->md_seg_fds[forknum][segno - 1]; /* * fsyncs done through mdimmedsync() should be tracked in a separate @@ -1333,7 +1392,7 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) if (segno > min_inactive_seg) { FileClose(v->mdfd_vfd); - _fdvec_resize(reln, forknum, segno - 1); + _fdvec_resize(mdreln, forknum, segno - 1); } segno--; @@ -1350,14 +1409,14 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) * enough to be a performance problem). */ static void -register_dirty_segment(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) +register_dirty_segment(MdSMgrRelation reln, ForkNumber forknum, MdfdVec *seg) { FileTag tag; - INIT_MD_FILETAG(tag, reln->smgr_rlocator.locator, forknum, seg->mdfd_segno); + INIT_MD_FILETAG(tag, reln->reln.smgr_rlocator.locator, forknum, seg->mdfd_segno); /* Temp relations should never be fsync'd */ - Assert(!SmgrIsTemp(reln)); + Assert(!SmgrIsTemp(&reln->reln)); if (!RegisterSyncRequest(&tag, SYNC_REQUEST, false /* retryOnError */ )) { @@ -1475,7 +1534,7 @@ DropRelationFiles(RelFileLocator *delrels, int ndelrels, bool isRedo) * _fdvec_resize() -- Resize the fork's open segments array */ static void -_fdvec_resize(SMgrRelation reln, +_fdvec_resize(MdSMgrRelation reln, ForkNumber forknum, int nseg) { @@ -1513,12 +1572,12 @@ _fdvec_resize(SMgrRelation reln, * returned string is palloc'd. */ static char * -_mdfd_segpath(SMgrRelation reln, ForkNumber forknum, BlockNumber segno) +_mdfd_segpath(MdSMgrRelation reln, ForkNumber forknum, BlockNumber segno) { char *path, *fullpath; - path = relpath(reln->smgr_rlocator, forknum); + path = relpath(reln->reln.smgr_rlocator, forknum); if (segno > 0) { @@ -1536,7 +1595,7 @@ _mdfd_segpath(SMgrRelation reln, ForkNumber forknum, BlockNumber segno) * and make a MdfdVec object for it. Returns NULL on failure. */ static MdfdVec * -_mdfd_openseg(SMgrRelation reln, ForkNumber forknum, BlockNumber segno, +_mdfd_openseg(MdSMgrRelation reln, ForkNumber forknum, BlockNumber segno, int oflags) { MdfdVec *v; @@ -1581,7 +1640,7 @@ _mdfd_openseg(SMgrRelation reln, ForkNumber forknum, BlockNumber segno, * EXTENSION_CREATE case. */ static MdfdVec * -_mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno, +_mdfd_getseg(MdSMgrRelation reln, ForkNumber forknum, BlockNumber blkno, bool skipFsync, int behavior) { MdfdVec *v; @@ -1655,7 +1714,7 @@ _mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno, char *zerobuf = palloc_aligned(BLCKSZ, PG_IO_ALIGN_SIZE, MCXT_ALLOC_ZERO); - mdextend(reln, forknum, + mdextend((SMgrRelation) reln, forknum, nextsegno * ((BlockNumber) RELSEG_SIZE) - 1, zerobuf, skipFsync); pfree(zerobuf); @@ -1712,7 +1771,7 @@ _mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno, * Get number of blocks present in a single disk file */ static BlockNumber -_mdnblocks(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) +_mdnblocks(MdSMgrRelation reln, ForkNumber forknum, MdfdVec *seg) { off_t len; @@ -1735,7 +1794,7 @@ _mdnblocks(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) int mdsyncfiletag(const FileTag *ftag, char *path) { - SMgrRelation reln = smgropen(ftag->rlocator, INVALID_PROC_NUMBER); + MdSMgrRelation reln = (MdSMgrRelation) smgropen(ftag->rlocator, INVALID_PROC_NUMBER); File file; instr_time io_start; bool need_to_close; diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index a691aed1f405f..42576d266f717 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -53,81 +53,25 @@ #include "access/xlogutils.h" #include "lib/ilist.h" +#include "miscadmin.h" #include "storage/bufmgr.h" #include "storage/ipc.h" #include "storage/md.h" #include "storage/smgr.h" +#include "port/atomics.h" #include "utils/hsearch.h" #include "utils/inval.h" +#include "utils/memutils.h" -/* - * This struct of function pointers defines the API between smgr.c and - * any individual storage manager module. Note that smgr subfunctions are - * generally expected to report problems via elog(ERROR). An exception is - * that smgr_unlink should use elog(WARNING), rather than erroring out, - * because we normally unlink relations during post-commit/abort cleanup, - * and so it's too late to raise an error. Also, various conditions that - * would normally be errors should be allowed during bootstrap and/or WAL - * recovery --- see comments in md.c for details. - */ -typedef struct f_smgr -{ - void (*smgr_init) (void); /* may be NULL */ - void (*smgr_shutdown) (void); /* may be NULL */ - void (*smgr_open) (SMgrRelation reln); - void (*smgr_close) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_create) (SMgrRelation reln, ForkNumber forknum, - bool isRedo); - bool (*smgr_exists) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_unlink) (RelFileLocatorBackend rlocator, ForkNumber forknum, - bool isRedo); - void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, const void *buffer, bool skipFsync); - void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks, bool skipFsync); - bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks); - void (*smgr_readv) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, - void **buffers, BlockNumber nblocks); - void (*smgr_writev) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, - const void **buffers, BlockNumber nblocks, - bool skipFsync); - void (*smgr_writeback) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, BlockNumber nblocks); - BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum, - BlockNumber nblocks); - void (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_registersync) (SMgrRelation reln, ForkNumber forknum); -} f_smgr; - -static const f_smgr smgrsw[] = { - /* magnetic disk */ - { - .smgr_init = mdinit, - .smgr_shutdown = NULL, - .smgr_open = mdopen, - .smgr_close = mdclose, - .smgr_create = mdcreate, - .smgr_exists = mdexists, - .smgr_unlink = mdunlink, - .smgr_extend = mdextend, - .smgr_zeroextend = mdzeroextend, - .smgr_prefetch = mdprefetch, - .smgr_readv = mdreadv, - .smgr_writev = mdwritev, - .smgr_writeback = mdwriteback, - .smgr_nblocks = mdnblocks, - .smgr_truncate = mdtruncate, - .smgr_immedsync = mdimmedsync, - .smgr_registersync = mdregistersync, - } -}; +static f_smgr *smgrsw; -static const int NSmgr = lengthof(smgrsw); +static int NSmgr = 0; + +static Size LargestSMgrRelationSize = 0; + +char *storage_manager_string; +SMgrId storage_manager_id; /* * Each backend has a hashtable that stores all extant SMgrRelation objects. @@ -141,6 +85,57 @@ static dlist_head unpinned_relns; static void smgrshutdown(int code, Datum arg); static void smgrdestroy(SMgrRelation reln); +SMgrId +smgr_register(const f_smgr *smgr, Size smgrrelation_size) +{ + SMgrId my_id; + MemoryContext old; + + if (process_shared_preload_libraries_done) + elog(FATAL, "SMgrs must be registered in the shared_preload_libraries phase"); + if (NSmgr == MaxSMgrId) + elog(FATAL, "Too many smgrs registered"); + if (smgr->name == NULL || *smgr->name == 0) + elog(FATAL, "smgr registered with invalid name"); + + Assert(smgr->smgr_open != NULL); + Assert(smgr->smgr_close != NULL); + Assert(smgr->smgr_create != NULL); + Assert(smgr->smgr_exists != NULL); + Assert(smgr->smgr_unlink != NULL); + Assert(smgr->smgr_extend != NULL); + Assert(smgr->smgr_zeroextend != NULL); + Assert(smgr->smgr_prefetch != NULL); + Assert(smgr->smgr_readv != NULL); + Assert(smgr->smgr_writev != NULL); + Assert(smgr->smgr_writeback != NULL); + Assert(smgr->smgr_nblocks != NULL); + Assert(smgr->smgr_truncate != NULL); + Assert(smgr->smgr_immedsync != NULL); + old = MemoryContextSwitchTo(TopMemoryContext); + + my_id = NSmgr++; + if (my_id == 0) + smgrsw = palloc(sizeof(f_smgr)); + else + smgrsw = repalloc(smgrsw, sizeof(f_smgr) * NSmgr); + + MemoryContextSwitchTo(old); + + pg_compiler_barrier(); + + if (!smgrsw) + { + NSmgr--; + elog(FATAL, "Failed to extend smgr array"); + } + + memcpy(&smgrsw[my_id], smgr, sizeof(f_smgr)); + + LargestSMgrRelationSize = Max(LargestSMgrRelationSize, smgrrelation_size); + + return my_id; +} /* * smgrinit(), smgrshutdown() -- Initialize or shut down storage @@ -207,9 +202,11 @@ smgropen(RelFileLocator rlocator, ProcNumber backend) { /* First time through: initialize the hash table */ HASHCTL ctl; + LargestSMgrRelationSize = MAXALIGN(LargestSMgrRelationSize); + Assert(NSmgr > 0); ctl.keysize = sizeof(RelFileLocatorBackend); - ctl.entrysize = sizeof(SMgrRelationData); + ctl.entrysize = LargestSMgrRelationSize; SMgrRelationHash = hash_create("smgr relation table", 400, &ctl, HASH_ELEM | HASH_BLOBS); dlist_init(&unpinned_relns); @@ -229,7 +226,8 @@ smgropen(RelFileLocator rlocator, ProcNumber backend) reln->smgr_targblock = InvalidBlockNumber; for (int i = 0; i <= MAX_FORKNUM; ++i) reln->smgr_cached_nblocks[i] = InvalidBlockNumber; - reln->smgr_which = 0; /* we only have md.c at present */ + + reln->smgr_which = storage_manager_id; /* implementation-specific initialization */ smgrsw[reln->smgr_which].smgr_open(reln); diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index 537d92c0cfde2..7b52f104c8754 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -42,6 +42,7 @@ #include "replication/slotsync.h" #include "storage/fd.h" #include "storage/ipc.h" +#include "storage/md.h" #include "storage/latch.h" #include "storage/pg_shmem.h" #include "storage/pmsignal.h" @@ -198,6 +199,9 @@ InitStandaloneProcess(const char *argv0) InitProcessLocalLatch(); InitializeLatchWaitSet(); + /* Initialize smgrs */ + register_builtin_dynamic_managers(); + /* * For consistency with InitPostmasterChild, initialize signal mask here. * But we don't unblock SIGQUIT or provide a default handler for it. @@ -1864,6 +1868,17 @@ process_session_preload_libraries(void) true); } +/* + * Register any internal managers. + */ +void +register_builtin_dynamic_managers(void) +{ + mdsmgr_register(); + + storage_manager_id = MdSMgrId; +} + /* * process any shared memory requests from preloaded libraries */ diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index 2c507ea618c37..4df3d76ad8a1d 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -13,6 +13,7 @@ #include "access/xlogbackup.h" #include "access/xlogdefs.h" +#include "catalog/pg_control.h" #include "datatype/timestamp.h" #include "lib/stringinfo.h" #include "nodes/pg_list.h" @@ -57,6 +58,9 @@ extern PGDLLIMPORT int wal_decode_buffer_size; extern PGDLLIMPORT int CheckPointSegments; +typedef void (*checkpoint_create_hook_type)(const CheckPoint *); +extern PGDLLIMPORT checkpoint_create_hook_type checkpoint_create_hook; + /* Archive modes */ typedef enum ArchiveMode { diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 90f9b21b2584d..7cc4a33e1786c 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -500,6 +500,7 @@ extern void TouchSocketLockFiles(void); extern void AddToDataDirLockFile(int target_line, const char *str); extern bool RecheckDataDirLockFile(void); extern void ValidatePgVersion(const char *path); +extern void register_builtin_dynamic_managers(void); extern void process_shared_preload_libraries(void); extern void process_session_preload_libraries(void); extern void process_shmem_requests(void); diff --git a/src/include/storage/md.h b/src/include/storage/md.h index 620f10abdeb58..d36eaf6451f37 100644 --- a/src/include/storage/md.h +++ b/src/include/storage/md.h @@ -19,6 +19,12 @@ #include "storage/smgr.h" #include "storage/sync.h" +#define MdSMgrName "md" + +/* registration function for md storage manager */ +extern void mdsmgr_register(void); +extern SMgrId MdSMgrId; + /* md storage manager functionality */ extern void mdinit(void); extern void mdopen(SMgrRelation reln); diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h index e15b20a566a0d..2df94be088fe7 100644 --- a/src/include/storage/smgr.h +++ b/src/include/storage/smgr.h @@ -18,6 +18,12 @@ #include "storage/block.h" #include "storage/relfilelocator.h" +typedef uint8 SMgrId; + +#define MaxSMgrId UINT8_MAX + +extern PGDLLIMPORT SMgrId storage_manager_id; + /* * smgr.c maintains a table of SMgrRelation objects, which are essentially * cached file handles. An SMgrRelation is created (if not already present) @@ -51,14 +57,8 @@ typedef struct SMgrRelationData * Fields below here are intended to be private to smgr.c and its * submodules. Do not touch them from elsewhere. */ - int smgr_which; /* storage manager selector */ - - /* - * for md.c; per-fork arrays of the number of open segments - * (md_num_open_segs) and the segments themselves (md_seg_fds). - */ - int md_num_open_segs[MAX_FORKNUM + 1]; - struct _MdfdVec *md_seg_fds[MAX_FORKNUM + 1]; + SMgrId smgr_which; /* storage manager selector */ + int smgrrelation_size; /* size of this struct, incl. smgr-specific data */ /* * Pinning support. If unpinned (ie. pincount == 0), 'node' is a list @@ -73,6 +73,52 @@ typedef SMgrRelationData *SMgrRelation; #define SmgrIsTemp(smgr) \ RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) +/* + * This struct of function pointers defines the API between smgr.c and + * any individual storage manager module. Note that smgr subfunctions are + * generally expected to report problems via elog(ERROR). An exception is + * that smgr_unlink should use elog(WARNING), rather than erroring out, + * because we normally unlink relations during post-commit/abort cleanup, + * and so it's too late to raise an error. Also, various conditions that + * would normally be errors should be allowed during bootstrap and/or WAL + * recovery --- see comments in md.c for details. + */ +typedef struct f_smgr +{ + const char *name; + void (*smgr_init) (void); /* may be NULL */ + void (*smgr_shutdown) (void); /* may be NULL */ + void (*smgr_open) (SMgrRelation reln); + void (*smgr_close) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_create) (SMgrRelation reln, ForkNumber forknum, + bool isRedo); + bool (*smgr_exists) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_unlink) (RelFileLocatorBackend rlocator, ForkNumber forknum, + bool isRedo); + void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, const void *buffer, bool skipFsync); + void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks, bool skipFsync); + bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks); + void (*smgr_readv) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + void **buffers, BlockNumber nblocks); + void (*smgr_writev) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + const void **buffers, BlockNumber nblocks, + bool skipFsync); + void (*smgr_writeback) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, BlockNumber nblocks); + BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum, + BlockNumber nblocks); + void (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_registersync) (SMgrRelation reln, ForkNumber forknum); +} f_smgr; + +extern SMgrId smgr_register(const f_smgr *smgr, Size smgrrelation_size); + extern void smgrinit(void); extern SMgrRelation smgropen(RelFileLocator rlocator, ProcNumber backend); extern bool smgrexists(SMgrRelation reln, ForkNumber forknum); From 5dad05c271b05824dc424f9a02d7e276db0da38c Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Sun, 7 Apr 2024 18:45:18 +0100 Subject: [PATCH 06/45] Downloaded smgr patch --- ...-to-extensions-for-manual-implementa.patch | 911 ++++++++++++++++++ ...ons-to-override-the-global-storage-m.patch | 93 ++ .../v1-0003-Add-checkpoint_create_hook.patch | 60 ++ .../v1-0004-Add-contrib-fsync_checker.patch | 341 +++++++ 4 files changed, 1405 insertions(+) create mode 100644 smgr_patch/v1-0001-Expose-f_smgr-to-extensions-for-manual-implementa.patch create mode 100644 smgr_patch/v1-0002-Allow-extensions-to-override-the-global-storage-m.patch create mode 100644 smgr_patch/v1-0003-Add-checkpoint_create_hook.patch create mode 100644 smgr_patch/v1-0004-Add-contrib-fsync_checker.patch diff --git a/smgr_patch/v1-0001-Expose-f_smgr-to-extensions-for-manual-implementa.patch b/smgr_patch/v1-0001-Expose-f_smgr-to-extensions-for-manual-implementa.patch new file mode 100644 index 0000000000000..c68d36b26236f --- /dev/null +++ b/smgr_patch/v1-0001-Expose-f_smgr-to-extensions-for-manual-implementa.patch @@ -0,0 +1,911 @@ +From 5ffbc7c35bb3248501b2517d26f99afe02fb53d6 Mon Sep 17 00:00:00 2001 +From: Matthias van de Meent +Date: Tue, 27 Jun 2023 15:59:23 +0200 +Subject: [PATCH v1 1/5] Expose f_smgr to extensions for manual implementation + +There are various reasons why one would want to create their own +implementation of a storage manager, among which are block-level compression, +encryption and offloading to cold storage. This patch is a first patch that +allows extensions to register their own SMgr. + +Note, however, that this SMgr is not yet used - only the first SMgr to register +is used, and this is currently the md.c smgr. Future commits will include +facilities to select an SMgr for each tablespace. +--- + src/backend/postmaster/postmaster.c | 5 + + src/backend/storage/smgr/md.c | 172 +++++++++++++++++++--------- + src/backend/storage/smgr/smgr.c | 129 ++++++++++----------- + src/backend/utils/init/miscinit.c | 13 +++ + src/include/miscadmin.h | 1 + + src/include/storage/md.h | 4 + + src/include/storage/smgr.h | 59 ++++++++-- + 7 files changed, 252 insertions(+), 131 deletions(-) + +diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c +index feb471dd1d..a0e46fe1f2 100644 +--- a/src/backend/postmaster/postmaster.c ++++ b/src/backend/postmaster/postmaster.c +@@ -1010,6 +1010,11 @@ PostmasterMain(int argc, char *argv[]) + */ + ApplyLauncherRegister(); + ++ /* ++ * Register built-in managers that are not part of static arrays ++ */ ++ register_builtin_dynamic_managers(); ++ + /* + * process any libraries that should be preloaded at postmaster start + */ +diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c +index b1e9932a29..66a93101ab 100644 +--- a/src/backend/storage/smgr/md.c ++++ b/src/backend/storage/smgr/md.c +@@ -87,6 +87,21 @@ typedef struct _MdfdVec + } MdfdVec; + + static MemoryContext MdCxt; /* context for all MdfdVec objects */ ++SMgrId MdSMgrId; ++ ++typedef struct MdSMgrRelationData ++{ ++ /* parent data */ ++ SMgrRelationData reln; ++ /* ++ * for md.c; per-fork arrays of the number of open segments ++ * (md_num_open_segs) and the segments themselves (md_seg_fds). ++ */ ++ int md_num_open_segs[MAX_FORKNUM + 1]; ++ struct _MdfdVec *md_seg_fds[MAX_FORKNUM + 1]; ++} MdSMgrRelationData; ++ ++typedef MdSMgrRelationData *MdSMgrRelation; + + + /* Populate a file tag describing an md.c segment file. */ +@@ -121,26 +136,52 @@ static MemoryContext MdCxt; /* context for all MdfdVec objects */ + #define EXTENSION_DONT_OPEN (1 << 5) + + ++void mdsmgr_register(void) ++{ ++ /* magnetic disk */ ++ f_smgr md_smgr = (f_smgr) { ++ .name = "md", ++ .smgr_init = mdinit, ++ .smgr_shutdown = NULL, ++ .smgr_open = mdopen, ++ .smgr_close = mdclose, ++ .smgr_create = mdcreate, ++ .smgr_exists = mdexists, ++ .smgr_unlink = mdunlink, ++ .smgr_extend = mdextend, ++ .smgr_zeroextend = mdzeroextend, ++ .smgr_prefetch = mdprefetch, ++ .smgr_readv = mdreadv, ++ .smgr_writev = mdwritev, ++ .smgr_writeback = mdwriteback, ++ .smgr_nblocks = mdnblocks, ++ .smgr_truncate = mdtruncate, ++ .smgr_immedsync = mdimmedsync, ++ }; ++ ++ MdSMgrId = smgr_register(&md_smgr, sizeof(MdSMgrRelationData)); ++} ++ + /* local routines */ + static void mdunlinkfork(RelFileLocatorBackend rlocator, ForkNumber forknum, + bool isRedo); +-static MdfdVec *mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior); +-static void register_dirty_segment(SMgrRelation reln, ForkNumber forknum, ++static MdfdVec *mdopenfork(MdSMgrRelation reln, ForkNumber forknum, int behavior); ++static void register_dirty_segment(MdSMgrRelation reln, ForkNumber forknum, + MdfdVec *seg); + static void register_unlink_segment(RelFileLocatorBackend rlocator, ForkNumber forknum, + BlockNumber segno); + static void register_forget_request(RelFileLocatorBackend rlocator, ForkNumber forknum, + BlockNumber segno); +-static void _fdvec_resize(SMgrRelation reln, ++static void _fdvec_resize(MdSMgrRelation reln, + ForkNumber forknum, + int nseg); +-static char *_mdfd_segpath(SMgrRelation reln, ForkNumber forknum, ++static char *_mdfd_segpath(MdSMgrRelation reln, ForkNumber forknum, + BlockNumber segno); +-static MdfdVec *_mdfd_openseg(SMgrRelation reln, ForkNumber forknum, ++static MdfdVec *_mdfd_openseg(MdSMgrRelation reln, ForkNumber forknum, + BlockNumber segno, int oflags); +-static MdfdVec *_mdfd_getseg(SMgrRelation reln, ForkNumber forknum, ++static MdfdVec *_mdfd_getseg(MdSMgrRelation reln, ForkNumber forknum, + BlockNumber blkno, bool skipFsync, int behavior); +-static BlockNumber _mdnblocks(SMgrRelation reln, ForkNumber forknum, ++static BlockNumber _mdnblocks(MdSMgrRelation reln, ForkNumber forknum, + MdfdVec *seg); + + static inline int +@@ -173,6 +214,8 @@ mdinit(void) + bool + mdexists(SMgrRelation reln, ForkNumber forknum) + { ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; ++ + /* + * Close it first, to ensure that we notice if the fork has been unlinked + * since we opened it. As an optimization, we can skip that in recovery, +@@ -181,7 +224,7 @@ mdexists(SMgrRelation reln, ForkNumber forknum) + if (!InRecovery) + mdclose(reln, forknum); + +- return (mdopenfork(reln, forknum, EXTENSION_RETURN_NULL) != NULL); ++ return (mdopenfork(mdreln, forknum, EXTENSION_RETURN_NULL) != NULL); + } + + /* +@@ -195,11 +238,13 @@ mdcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo) + MdfdVec *mdfd; + char *path; + File fd; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; ++ // Assert(reln->smgr_which == MdSMgrId); + +- if (isRedo && reln->md_num_open_segs[forknum] > 0) ++ if (isRedo && mdreln->md_num_open_segs[forknum] > 0) + return; /* created and opened already... */ + +- Assert(reln->md_num_open_segs[forknum] == 0); ++ Assert(mdreln->md_num_open_segs[forknum] == 0); + + /* + * We may be using the target table space for the first time in this +@@ -236,13 +281,13 @@ mdcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo) + + pfree(path); + +- _fdvec_resize(reln, forknum, 1); +- mdfd = &reln->md_seg_fds[forknum][0]; ++ _fdvec_resize(mdreln, forknum, 1); ++ mdfd = &mdreln->md_seg_fds[forknum][0]; + mdfd->mdfd_vfd = fd; + mdfd->mdfd_segno = 0; + + if (!SmgrIsTemp(reln)) +- register_dirty_segment(reln, forknum, mdfd); ++ register_dirty_segment(mdreln, forknum, mdfd); + } + + /* +@@ -466,6 +511,7 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + off_t seekpos; + int nbytes; + MdfdVec *v; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + + /* If this build supports direct I/O, the buffer must be I/O aligned. */ + if (PG_O_DIRECT != 0 && PG_IO_ALIGN_SIZE <= BLCKSZ) +@@ -489,7 +535,7 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + relpath(reln->smgr_rlocator, forknum), + InvalidBlockNumber))); + +- v = _mdfd_getseg(reln, forknum, blocknum, skipFsync, EXTENSION_CREATE); ++ v = _mdfd_getseg(mdreln, forknum, blocknum, skipFsync, EXTENSION_CREATE); + + seekpos = (off_t) BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)); + +@@ -513,9 +559,9 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + } + + if (!skipFsync && !SmgrIsTemp(reln)) +- register_dirty_segment(reln, forknum, v); ++ register_dirty_segment(mdreln, forknum, v); + +- Assert(_mdnblocks(reln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); ++ Assert(_mdnblocks(mdreln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); + } + + /* +@@ -531,6 +577,7 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, + MdfdVec *v; + BlockNumber curblocknum = blocknum; + int remblocks = nblocks; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + + Assert(nblocks > 0); + +@@ -562,7 +609,7 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, + else + numblocks = remblocks; + +- v = _mdfd_getseg(reln, forknum, curblocknum, skipFsync, EXTENSION_CREATE); ++ v = _mdfd_getseg(mdreln, forknum, curblocknum, skipFsync, EXTENSION_CREATE); + + Assert(segstartblock < RELSEG_SIZE); + Assert(segstartblock + numblocks <= RELSEG_SIZE); +@@ -617,9 +664,9 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, + } + + if (!skipFsync && !SmgrIsTemp(reln)) +- register_dirty_segment(reln, forknum, v); ++ register_dirty_segment(mdreln, forknum, v); + +- Assert(_mdnblocks(reln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); ++ Assert(_mdnblocks(mdreln, forknum, v) <= ((BlockNumber) RELSEG_SIZE)); + + remblocks -= numblocks; + curblocknum += numblocks; +@@ -637,7 +684,7 @@ mdzeroextend(SMgrRelation reln, ForkNumber forknum, + * invent one out of whole cloth. + */ + static MdfdVec * +-mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior) ++mdopenfork(MdSMgrRelation reln, ForkNumber forknum, int behavior) + { + MdfdVec *mdfd; + char *path; +@@ -647,7 +694,7 @@ mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior) + if (reln->md_num_open_segs[forknum] > 0) + return &reln->md_seg_fds[forknum][0]; + +- path = relpath(reln->smgr_rlocator, forknum); ++ path = relpath(reln->reln.smgr_rlocator, forknum); + + fd = PathNameOpenFile(path, _mdfd_open_flags()); + +@@ -682,9 +729,10 @@ mdopenfork(SMgrRelation reln, ForkNumber forknum, int behavior) + void + mdopen(SMgrRelation reln) + { ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + /* mark it not open */ + for (int forknum = 0; forknum <= MAX_FORKNUM; forknum++) +- reln->md_num_open_segs[forknum] = 0; ++ mdreln->md_num_open_segs[forknum] = 0; + } + + /* +@@ -693,7 +741,8 @@ mdopen(SMgrRelation reln) + void + mdclose(SMgrRelation reln, ForkNumber forknum) + { +- int nopensegs = reln->md_num_open_segs[forknum]; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; ++ int nopensegs = mdreln->md_num_open_segs[forknum]; + + /* No work if already closed */ + if (nopensegs == 0) +@@ -702,10 +751,10 @@ mdclose(SMgrRelation reln, ForkNumber forknum) + /* close segments starting from the end */ + while (nopensegs > 0) + { +- MdfdVec *v = &reln->md_seg_fds[forknum][nopensegs - 1]; ++ MdfdVec *v = &mdreln->md_seg_fds[forknum][nopensegs - 1]; + + FileClose(v->mdfd_vfd); +- _fdvec_resize(reln, forknum, nopensegs - 1); ++ _fdvec_resize(mdreln, forknum, nopensegs - 1); + nopensegs--; + } + } +@@ -718,6 +767,7 @@ mdprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + int nblocks) + { + #ifdef USE_PREFETCH ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + + Assert((io_direct_flags & IO_DIRECT_DATA) == 0); + +@@ -730,7 +780,7 @@ mdprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + MdfdVec *v; + int nblocks_this_segment; + +- v = _mdfd_getseg(reln, forknum, blocknum, false, ++ v = _mdfd_getseg(mdreln, forknum, blocknum, false, + InRecovery ? EXTENSION_RETURN_NULL : EXTENSION_FAIL); + if (v == NULL) + return false; +@@ -813,6 +863,8 @@ void + mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + void **buffers, BlockNumber nblocks) + { ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; ++ + while (nblocks > 0) + { + struct iovec iov[PG_IOV_MAX]; +@@ -824,7 +876,7 @@ mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + size_t transferred_this_segment; + size_t size_this_segment; + +- v = _mdfd_getseg(reln, forknum, blocknum, false, ++ v = _mdfd_getseg(mdreln, forknum, blocknum, false, + EXTENSION_FAIL | EXTENSION_CREATE_RECOVERY); + + seekpos = (off_t) BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)); +@@ -931,6 +983,8 @@ void + mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + const void **buffers, BlockNumber nblocks, bool skipFsync) + { ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; ++ + /* This assert is too expensive to have on normally ... */ + #ifdef CHECK_WRITE_VS_EXTEND + Assert(blocknum < mdnblocks(reln, forknum)); +@@ -947,7 +1001,7 @@ mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + size_t transferred_this_segment; + size_t size_this_segment; + +- v = _mdfd_getseg(reln, forknum, blocknum, skipFsync, ++ v = _mdfd_getseg(mdreln, forknum, blocknum, skipFsync, + EXTENSION_FAIL | EXTENSION_CREATE_RECOVERY); + + seekpos = (off_t) BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)); +@@ -1014,7 +1068,7 @@ mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + } + + if (!skipFsync && !SmgrIsTemp(reln)) +- register_dirty_segment(reln, forknum, v); ++ register_dirty_segment(mdreln, forknum, v); + + nblocks -= nblocks_this_segment; + buffers += nblocks_this_segment; +@@ -1033,6 +1087,7 @@ void + mdwriteback(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, BlockNumber nblocks) + { ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + Assert((io_direct_flags & IO_DIRECT_DATA) == 0); + + /* +@@ -1047,7 +1102,7 @@ mdwriteback(SMgrRelation reln, ForkNumber forknum, + int segnum_start, + segnum_end; + +- v = _mdfd_getseg(reln, forknum, blocknum, true /* not used */ , ++ v = _mdfd_getseg(mdreln, forknum, blocknum, true /* not used */ , + EXTENSION_DONT_OPEN); + + /* +@@ -1094,11 +1149,12 @@ mdnblocks(SMgrRelation reln, ForkNumber forknum) + MdfdVec *v; + BlockNumber nblocks; + BlockNumber segno; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + +- mdopenfork(reln, forknum, EXTENSION_FAIL); ++ mdopenfork(mdreln, forknum, EXTENSION_FAIL); + + /* mdopen has opened the first segment */ +- Assert(reln->md_num_open_segs[forknum] > 0); ++ Assert(mdreln->md_num_open_segs[forknum] > 0); + + /* + * Start from the last open segments, to avoid redundant seeks. We have +@@ -1113,12 +1169,12 @@ mdnblocks(SMgrRelation reln, ForkNumber forknum) + * that's OK because the checkpointer never needs to compute relation + * size.) + */ +- segno = reln->md_num_open_segs[forknum] - 1; +- v = &reln->md_seg_fds[forknum][segno]; ++ segno = mdreln->md_num_open_segs[forknum] - 1; ++ v = &mdreln->md_seg_fds[forknum][segno]; + + for (;;) + { +- nblocks = _mdnblocks(reln, forknum, v); ++ nblocks = _mdnblocks(mdreln, forknum, v); + if (nblocks > ((BlockNumber) RELSEG_SIZE)) + elog(FATAL, "segment too big"); + if (nblocks < ((BlockNumber) RELSEG_SIZE)) +@@ -1136,7 +1192,7 @@ mdnblocks(SMgrRelation reln, ForkNumber forknum) + * undermines _mdfd_getseg's attempts to notice and report an error + * upon access to a missing segment. + */ +- v = _mdfd_openseg(reln, forknum, segno, 0); ++ v = _mdfd_openseg(mdreln, forknum, segno, 0); + if (v == NULL) + return segno * ((BlockNumber) RELSEG_SIZE); + } +@@ -1151,6 +1207,7 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) + BlockNumber curnblk; + BlockNumber priorblocks; + int curopensegs; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + + /* + * NOTE: mdnblocks makes sure we have opened all active segments, so that +@@ -1174,14 +1231,14 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) + * Truncate segments, starting at the last one. Starting at the end makes + * managing the memory for the fd array easier, should there be errors. + */ +- curopensegs = reln->md_num_open_segs[forknum]; ++ curopensegs = mdreln->md_num_open_segs[forknum]; + while (curopensegs > 0) + { + MdfdVec *v; + + priorblocks = (curopensegs - 1) * RELSEG_SIZE; + +- v = &reln->md_seg_fds[forknum][curopensegs - 1]; ++ v = &mdreln->md_seg_fds[forknum][curopensegs - 1]; + + if (priorblocks > nblocks) + { +@@ -1196,13 +1253,13 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) + FilePathName(v->mdfd_vfd)))); + + if (!SmgrIsTemp(reln)) +- register_dirty_segment(reln, forknum, v); ++ register_dirty_segment(mdreln, forknum, v); + + /* we never drop the 1st segment */ +- Assert(v != &reln->md_seg_fds[forknum][0]); ++ Assert(v != &mdreln->md_seg_fds[forknum][0]); + + FileClose(v->mdfd_vfd); +- _fdvec_resize(reln, forknum, curopensegs - 1); ++ _fdvec_resize(mdreln, forknum, curopensegs - 1); + } + else if (priorblocks + ((BlockNumber) RELSEG_SIZE) > nblocks) + { +@@ -1222,7 +1279,7 @@ mdtruncate(SMgrRelation reln, ForkNumber forknum, BlockNumber nblocks) + FilePathName(v->mdfd_vfd), + nblocks))); + if (!SmgrIsTemp(reln)) +- register_dirty_segment(reln, forknum, v); ++ register_dirty_segment(mdreln, forknum, v); + } + else + { +@@ -1252,6 +1309,7 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) + { + int segno; + int min_inactive_seg; ++ MdSMgrRelation mdreln = (MdSMgrRelation) reln; + + /* + * NOTE: mdnblocks makes sure we have opened all active segments, so that +@@ -1259,7 +1317,7 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) + */ + mdnblocks(reln, forknum); + +- min_inactive_seg = segno = reln->md_num_open_segs[forknum]; ++ min_inactive_seg = segno = mdreln->md_num_open_segs[forknum]; + + /* + * Temporarily open inactive segments, then close them after sync. There +@@ -1267,12 +1325,12 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) + * is harmless. We don't bother to clean them up and take a risk of + * further trouble. The next mdclose() will soon close them. + */ +- while (_mdfd_openseg(reln, forknum, segno, 0) != NULL) ++ while (_mdfd_openseg(mdreln, forknum, segno, 0) != NULL) + segno++; + + while (segno > 0) + { +- MdfdVec *v = &reln->md_seg_fds[forknum][segno - 1]; ++ MdfdVec *v = &mdreln->md_seg_fds[forknum][segno - 1]; + + /* + * fsyncs done through mdimmedsync() should be tracked in a separate +@@ -1293,7 +1351,7 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) + if (segno > min_inactive_seg) + { + FileClose(v->mdfd_vfd); +- _fdvec_resize(reln, forknum, segno - 1); ++ _fdvec_resize(mdreln, forknum, segno - 1); + } + + segno--; +@@ -1310,14 +1368,14 @@ mdimmedsync(SMgrRelation reln, ForkNumber forknum) + * enough to be a performance problem). + */ + static void +-register_dirty_segment(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) ++register_dirty_segment(MdSMgrRelation reln, ForkNumber forknum, MdfdVec *seg) + { + FileTag tag; + +- INIT_MD_FILETAG(tag, reln->smgr_rlocator.locator, forknum, seg->mdfd_segno); ++ INIT_MD_FILETAG(tag, reln->reln.smgr_rlocator.locator, forknum, seg->mdfd_segno); + + /* Temp relations should never be fsync'd */ +- Assert(!SmgrIsTemp(reln)); ++ Assert(!SmgrIsTemp(&reln->reln)); + + if (!RegisterSyncRequest(&tag, SYNC_REQUEST, false /* retryOnError */ )) + { +@@ -1435,7 +1493,7 @@ DropRelationFiles(RelFileLocator *delrels, int ndelrels, bool isRedo) + * _fdvec_resize() -- Resize the fork's open segments array + */ + static void +-_fdvec_resize(SMgrRelation reln, ++_fdvec_resize(MdSMgrRelation reln, + ForkNumber forknum, + int nseg) + { +@@ -1473,12 +1531,12 @@ _fdvec_resize(SMgrRelation reln, + * returned string is palloc'd. + */ + static char * +-_mdfd_segpath(SMgrRelation reln, ForkNumber forknum, BlockNumber segno) ++_mdfd_segpath(MdSMgrRelation reln, ForkNumber forknum, BlockNumber segno) + { + char *path, + *fullpath; + +- path = relpath(reln->smgr_rlocator, forknum); ++ path = relpath(reln->reln.smgr_rlocator, forknum); + + if (segno > 0) + { +@@ -1496,7 +1554,7 @@ _mdfd_segpath(SMgrRelation reln, ForkNumber forknum, BlockNumber segno) + * and make a MdfdVec object for it. Returns NULL on failure. + */ + static MdfdVec * +-_mdfd_openseg(SMgrRelation reln, ForkNumber forknum, BlockNumber segno, ++_mdfd_openseg(MdSMgrRelation reln, ForkNumber forknum, BlockNumber segno, + int oflags) + { + MdfdVec *v; +@@ -1541,7 +1599,7 @@ _mdfd_openseg(SMgrRelation reln, ForkNumber forknum, BlockNumber segno, + * EXTENSION_CREATE case. + */ + static MdfdVec * +-_mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno, ++_mdfd_getseg(MdSMgrRelation reln, ForkNumber forknum, BlockNumber blkno, + bool skipFsync, int behavior) + { + MdfdVec *v; +@@ -1615,7 +1673,7 @@ _mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno, + char *zerobuf = palloc_aligned(BLCKSZ, PG_IO_ALIGN_SIZE, + MCXT_ALLOC_ZERO); + +- mdextend(reln, forknum, ++ mdextend((SMgrRelation) reln, forknum, + nextsegno * ((BlockNumber) RELSEG_SIZE) - 1, + zerobuf, skipFsync); + pfree(zerobuf); +@@ -1672,7 +1730,7 @@ _mdfd_getseg(SMgrRelation reln, ForkNumber forknum, BlockNumber blkno, + * Get number of blocks present in a single disk file + */ + static BlockNumber +-_mdnblocks(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) ++_mdnblocks(MdSMgrRelation reln, ForkNumber forknum, MdfdVec *seg) + { + off_t len; + +@@ -1695,7 +1753,7 @@ _mdnblocks(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) + int + mdsyncfiletag(const FileTag *ftag, char *path) + { +- SMgrRelation reln = smgropen(ftag->rlocator, InvalidBackendId); ++ MdSMgrRelation reln = (MdSMgrRelation) smgropen(ftag->rlocator, InvalidBackendId); + File file; + instr_time io_start; + bool need_to_close; +diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c +index 563a0be5c7..b586e6e25a 100644 +--- a/src/backend/storage/smgr/smgr.c ++++ b/src/backend/storage/smgr/smgr.c +@@ -19,80 +19,23 @@ + + #include "access/xlogutils.h" + #include "lib/ilist.h" ++#include "miscadmin.h" + #include "storage/bufmgr.h" + #include "storage/fd.h" + #include "storage/ipc.h" + #include "storage/md.h" + #include "storage/smgr.h" ++#include "port/atomics.h" + #include "utils/hsearch.h" + #include "utils/inval.h" ++#include "utils/memutils.h" + + +-/* +- * This struct of function pointers defines the API between smgr.c and +- * any individual storage manager module. Note that smgr subfunctions are +- * generally expected to report problems via elog(ERROR). An exception is +- * that smgr_unlink should use elog(WARNING), rather than erroring out, +- * because we normally unlink relations during post-commit/abort cleanup, +- * and so it's too late to raise an error. Also, various conditions that +- * would normally be errors should be allowed during bootstrap and/or WAL +- * recovery --- see comments in md.c for details. +- */ +-typedef struct f_smgr +-{ +- void (*smgr_init) (void); /* may be NULL */ +- void (*smgr_shutdown) (void); /* may be NULL */ +- void (*smgr_open) (SMgrRelation reln); +- void (*smgr_close) (SMgrRelation reln, ForkNumber forknum); +- void (*smgr_create) (SMgrRelation reln, ForkNumber forknum, +- bool isRedo); +- bool (*smgr_exists) (SMgrRelation reln, ForkNumber forknum); +- void (*smgr_unlink) (RelFileLocatorBackend rlocator, ForkNumber forknum, +- bool isRedo); +- void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber blocknum, const void *buffer, bool skipFsync); +- void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber blocknum, int nblocks, bool skipFsync); +- bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber blocknum, int nblocks); +- void (*smgr_readv) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber blocknum, +- void **buffers, BlockNumber nblocks); +- void (*smgr_writev) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber blocknum, +- const void **buffers, BlockNumber nblocks, +- bool skipFsync); +- void (*smgr_writeback) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber blocknum, BlockNumber nblocks); +- BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum); +- void (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum, +- BlockNumber nblocks); +- void (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum); +-} f_smgr; +- +-static const f_smgr smgrsw[] = { +- /* magnetic disk */ +- { +- .smgr_init = mdinit, +- .smgr_shutdown = NULL, +- .smgr_open = mdopen, +- .smgr_close = mdclose, +- .smgr_create = mdcreate, +- .smgr_exists = mdexists, +- .smgr_unlink = mdunlink, +- .smgr_extend = mdextend, +- .smgr_zeroextend = mdzeroextend, +- .smgr_prefetch = mdprefetch, +- .smgr_readv = mdreadv, +- .smgr_writev = mdwritev, +- .smgr_writeback = mdwriteback, +- .smgr_nblocks = mdnblocks, +- .smgr_truncate = mdtruncate, +- .smgr_immedsync = mdimmedsync, +- } +-}; ++static f_smgr *smgrsw; + +-static const int NSmgr = lengthof(smgrsw); ++static int NSmgr = 0; ++ ++static Size LargestSMgrRelationSize = 0; + + /* + * Each backend has a hashtable that stores all extant SMgrRelation objects. +@@ -105,6 +48,57 @@ static dlist_head unowned_relns; + /* local function prototypes */ + static void smgrshutdown(int code, Datum arg); + ++SMgrId ++smgr_register(const f_smgr *smgr, Size smgrrelation_size) ++{ ++ SMgrId my_id; ++ MemoryContext old; ++ ++ if (process_shared_preload_libraries_done) ++ elog(FATAL, "SMgrs must be registered in the shared_preload_libraries phase"); ++ if (NSmgr == MaxSMgrId) ++ elog(FATAL, "Too many smgrs registered"); ++ if (smgr->name == NULL || *smgr->name == 0) ++ elog(FATAL, "smgr registered with invalid name"); ++ ++ Assert(smgr->smgr_open != NULL); ++ Assert(smgr->smgr_close != NULL); ++ Assert(smgr->smgr_create != NULL); ++ Assert(smgr->smgr_exists != NULL); ++ Assert(smgr->smgr_unlink != NULL); ++ Assert(smgr->smgr_extend != NULL); ++ Assert(smgr->smgr_zeroextend != NULL); ++ Assert(smgr->smgr_prefetch != NULL); ++ Assert(smgr->smgr_readv != NULL); ++ Assert(smgr->smgr_writev != NULL); ++ Assert(smgr->smgr_writeback != NULL); ++ Assert(smgr->smgr_nblocks != NULL); ++ Assert(smgr->smgr_truncate != NULL); ++ Assert(smgr->smgr_immedsync != NULL); ++ old = MemoryContextSwitchTo(TopMemoryContext); ++ ++ my_id = NSmgr++; ++ if (my_id == 0) ++ smgrsw = palloc(sizeof(f_smgr)); ++ else ++ smgrsw = repalloc(smgrsw, sizeof(f_smgr) * NSmgr); ++ ++ MemoryContextSwitchTo(old); ++ ++ pg_compiler_barrier(); ++ ++ if (!smgrsw) ++ { ++ NSmgr--; ++ elog(FATAL, "Failed to extend smgr array"); ++ } ++ ++ memcpy(&smgrsw[my_id], smgr, sizeof(f_smgr)); ++ ++ LargestSMgrRelationSize = Max(LargestSMgrRelationSize, smgrrelation_size); ++ ++ return my_id; ++} + + /* + * smgrinit(), smgrshutdown() -- Initialize or shut down storage +@@ -162,9 +156,11 @@ smgropen(RelFileLocator rlocator, BackendId backend) + { + /* First time through: initialize the hash table */ + HASHCTL ctl; ++ LargestSMgrRelationSize = MAXALIGN(LargestSMgrRelationSize); ++ Assert(NSmgr > 0); + + ctl.keysize = sizeof(RelFileLocatorBackend); +- ctl.entrysize = sizeof(SMgrRelationData); ++ ctl.entrysize = LargestSMgrRelationSize; + SMgrRelationHash = hash_create("smgr relation table", 400, + &ctl, HASH_ELEM | HASH_BLOBS); + dlist_init(&unowned_relns); +@@ -185,7 +181,8 @@ smgropen(RelFileLocator rlocator, BackendId backend) + reln->smgr_targblock = InvalidBlockNumber; + for (int i = 0; i <= MAX_FORKNUM; ++i) + reln->smgr_cached_nblocks[i] = InvalidBlockNumber; +- reln->smgr_which = 0; /* we only have md.c at present */ ++ ++ reln->smgr_which = MdSMgrId; /* we only have md.c at present */ + + /* implementation-specific initialization */ + smgrsw[reln->smgr_which].smgr_open(reln); +diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c +index 23f77a59e5..4ec7619302 100644 +--- a/src/backend/utils/init/miscinit.c ++++ b/src/backend/utils/init/miscinit.c +@@ -42,6 +42,7 @@ + #include "postmaster/postmaster.h" + #include "storage/fd.h" + #include "storage/ipc.h" ++#include "storage/md.h" + #include "storage/latch.h" + #include "storage/pg_shmem.h" + #include "storage/pmsignal.h" +@@ -198,6 +199,9 @@ InitStandaloneProcess(const char *argv0) + InitProcessLocalLatch(); + InitializeLatchWaitSet(); + ++ /* Initialize smgrs */ ++ register_builtin_dynamic_managers(); ++ + /* + * For consistency with InitPostmasterChild, initialize signal mask here. + * But we don't unblock SIGQUIT or provide a default handler for it. +@@ -1860,6 +1864,15 @@ process_session_preload_libraries(void) + true); + } + ++/* ++ * Register any internal managers. ++ */ ++void ++register_builtin_dynamic_managers(void) ++{ ++ mdsmgr_register(); ++} ++ + /* + * process any shared memory requests from preloaded libraries + */ +diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h +index 0b01c1f093..d0d4ba38ef 100644 +--- a/src/include/miscadmin.h ++++ b/src/include/miscadmin.h +@@ -493,6 +493,7 @@ extern void TouchSocketLockFiles(void); + extern void AddToDataDirLockFile(int target_line, const char *str); + extern bool RecheckDataDirLockFile(void); + extern void ValidatePgVersion(const char *path); ++extern void register_builtin_dynamic_managers(void); + extern void process_shared_preload_libraries(void); + extern void process_session_preload_libraries(void); + extern void process_shmem_requests(void); +diff --git a/src/include/storage/md.h b/src/include/storage/md.h +index 7c181e5a17..734bae07e1 100644 +--- a/src/include/storage/md.h ++++ b/src/include/storage/md.h +@@ -19,6 +19,10 @@ + #include "storage/smgr.h" + #include "storage/sync.h" + ++/* registration function for md storage manager */ ++extern void mdsmgr_register(void); ++extern SMgrId MdSMgrId; ++ + /* md storage manager functionality */ + extern void mdinit(void); + extern void mdopen(SMgrRelation reln); +diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h +index 527cd2a056..95927b8bdd 100644 +--- a/src/include/storage/smgr.h ++++ b/src/include/storage/smgr.h +@@ -18,6 +18,10 @@ + #include "storage/block.h" + #include "storage/relfilelocator.h" + ++typedef uint8 SMgrId; ++ ++#define MaxSMgrId UINT8_MAX ++ + /* + * smgr.c maintains a table of SMgrRelation objects, which are essentially + * cached file handles. An SMgrRelation is created (if not already present) +@@ -59,14 +63,8 @@ typedef struct SMgrRelationData + * Fields below here are intended to be private to smgr.c and its + * submodules. Do not touch them from elsewhere. + */ +- int smgr_which; /* storage manager selector */ +- +- /* +- * for md.c; per-fork arrays of the number of open segments +- * (md_num_open_segs) and the segments themselves (md_seg_fds). +- */ +- int md_num_open_segs[MAX_FORKNUM + 1]; +- struct _MdfdVec *md_seg_fds[MAX_FORKNUM + 1]; ++ SMgrId smgr_which; /* storage manager selector */ ++ int smgrrelation_size; /* size of this struct, incl. smgr-specific data */ + + /* if unowned, list link in list of all unowned SMgrRelations */ + dlist_node node; +@@ -77,6 +75,51 @@ typedef SMgrRelationData *SMgrRelation; + #define SmgrIsTemp(smgr) \ + RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) + ++/* ++ * This struct of function pointers defines the API between smgr.c and ++ * any individual storage manager module. Note that smgr subfunctions are ++ * generally expected to report problems via elog(ERROR). An exception is ++ * that smgr_unlink should use elog(WARNING), rather than erroring out, ++ * because we normally unlink relations during post-commit/abort cleanup, ++ * and so it's too late to raise an error. Also, various conditions that ++ * would normally be errors should be allowed during bootstrap and/or WAL ++ * recovery --- see comments in md.c for details. ++ */ ++typedef struct f_smgr ++{ ++ const char *name; ++ void (*smgr_init) (void); /* may be NULL */ ++ void (*smgr_shutdown) (void); /* may be NULL */ ++ void (*smgr_open) (SMgrRelation reln); ++ void (*smgr_close) (SMgrRelation reln, ForkNumber forknum); ++ void (*smgr_create) (SMgrRelation reln, ForkNumber forknum, ++ bool isRedo); ++ bool (*smgr_exists) (SMgrRelation reln, ForkNumber forknum); ++ void (*smgr_unlink) (RelFileLocatorBackend rlocator, ForkNumber forknum, ++ bool isRedo); ++ void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, const void *buffer, bool skipFsync); ++ void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, int nblocks, bool skipFsync); ++ bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, int nblocks); ++ void (*smgr_readv) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, ++ void **buffers, BlockNumber nblocks); ++ void (*smgr_writev) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, ++ const void **buffers, BlockNumber nblocks, ++ bool skipFsync); ++ void (*smgr_writeback) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, BlockNumber nblocks); ++ BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum); ++ void (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum, ++ BlockNumber nblocks); ++ void (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum); ++} f_smgr; ++ ++extern SMgrId smgr_register(const f_smgr *smgr, Size smgrrelation_size); ++ + extern void smgrinit(void); + extern SMgrRelation smgropen(RelFileLocator rlocator, BackendId backend); + extern bool smgrexists(SMgrRelation reln, ForkNumber forknum); +-- +Tristan Partin +Neon (https://neon.tech) + diff --git a/smgr_patch/v1-0002-Allow-extensions-to-override-the-global-storage-m.patch b/smgr_patch/v1-0002-Allow-extensions-to-override-the-global-storage-m.patch new file mode 100644 index 0000000000000..b5557178b3d43 --- /dev/null +++ b/smgr_patch/v1-0002-Allow-extensions-to-override-the-global-storage-m.patch @@ -0,0 +1,93 @@ +From 59a667f079c9b040c23921e4c43fae94b88776f2 Mon Sep 17 00:00:00 2001 +From: Tristan Partin +Date: Fri, 13 Oct 2023 14:00:44 -0500 +Subject: [PATCH v1 2/5] Allow extensions to override the global storage + manager + +--- + src/backend/storage/smgr/md.c | 2 +- + src/backend/storage/smgr/smgr.c | 5 ++++- + src/backend/utils/init/miscinit.c | 2 ++ + src/include/storage/md.h | 2 ++ + src/include/storage/smgr.h | 2 ++ + 5 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c +index 66a93101ab..13ec9da236 100644 +--- a/src/backend/storage/smgr/md.c ++++ b/src/backend/storage/smgr/md.c +@@ -140,7 +140,7 @@ void mdsmgr_register(void) + { + /* magnetic disk */ + f_smgr md_smgr = (f_smgr) { +- .name = "md", ++ .name = MdSMgrName, + .smgr_init = mdinit, + .smgr_shutdown = NULL, + .smgr_open = mdopen, +diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c +index b586e6e25a..0814330b8a 100644 +--- a/src/backend/storage/smgr/smgr.c ++++ b/src/backend/storage/smgr/smgr.c +@@ -37,6 +37,9 @@ static int NSmgr = 0; + + static Size LargestSMgrRelationSize = 0; + ++char *storage_manager_string; ++SMgrId storage_manager_id; ++ + /* + * Each backend has a hashtable that stores all extant SMgrRelation objects. + * In addition, "unowned" SMgrRelation objects are chained together in a list. +@@ -182,7 +185,7 @@ smgropen(RelFileLocator rlocator, BackendId backend) + for (int i = 0; i <= MAX_FORKNUM; ++i) + reln->smgr_cached_nblocks[i] = InvalidBlockNumber; + +- reln->smgr_which = MdSMgrId; /* we only have md.c at present */ ++ reln->smgr_which = storage_manager_id; + + /* implementation-specific initialization */ + smgrsw[reln->smgr_which].smgr_open(reln); +diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c +index 4ec7619302..f44f511f69 100644 +--- a/src/backend/utils/init/miscinit.c ++++ b/src/backend/utils/init/miscinit.c +@@ -1871,6 +1871,8 @@ void + register_builtin_dynamic_managers(void) + { + mdsmgr_register(); ++ ++ storage_manager_id = MdSMgrId; + } + + /* +diff --git a/src/include/storage/md.h b/src/include/storage/md.h +index 734bae07e1..fdafb2c8e3 100644 +--- a/src/include/storage/md.h ++++ b/src/include/storage/md.h +@@ -19,6 +19,8 @@ + #include "storage/smgr.h" + #include "storage/sync.h" + ++#define MdSMgrName "md" ++ + /* registration function for md storage manager */ + extern void mdsmgr_register(void); + extern SMgrId MdSMgrId; +diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h +index 95927b8bdd..ee4fc27265 100644 +--- a/src/include/storage/smgr.h ++++ b/src/include/storage/smgr.h +@@ -22,6 +22,8 @@ typedef uint8 SMgrId; + + #define MaxSMgrId UINT8_MAX + ++extern PGDLLIMPORT SMgrId storage_manager_id; ++ + /* + * smgr.c maintains a table of SMgrRelation objects, which are essentially + * cached file handles. An SMgrRelation is created (if not already present) +-- +Tristan Partin +Neon (https://neon.tech) + diff --git a/smgr_patch/v1-0003-Add-checkpoint_create_hook.patch b/smgr_patch/v1-0003-Add-checkpoint_create_hook.patch new file mode 100644 index 0000000000000..99eb31a0b5ae1 --- /dev/null +++ b/smgr_patch/v1-0003-Add-checkpoint_create_hook.patch @@ -0,0 +1,60 @@ +From 9ed9b8ca36cdb75b44deccdfea619c7494fcc6ef Mon Sep 17 00:00:00 2001 +From: Tristan Partin +Date: Fri, 13 Oct 2023 13:57:18 -0500 +Subject: [PATCH v1 3/5] Add checkpoint_create_hook + +Allows an extension to hook into CheckPointCreate(). +--- + src/backend/access/transam/xlog.c | 5 +++++ + src/include/access/xlog.h | 4 ++++ + 2 files changed, 9 insertions(+) + +diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c +index 478377c4a2..61ae5b63b8 100644 +--- a/src/backend/access/transam/xlog.c ++++ b/src/backend/access/transam/xlog.c +@@ -212,6 +212,8 @@ const struct config_enum_entry archive_mode_options[] = { + */ + CheckpointStatsData CheckpointStats; + ++checkpoint_create_hook_type checkpoint_create_hook = NULL; ++ + /* + * During recovery, lastFullPageWrites keeps track of full_page_writes that + * the replayed WAL records indicate. It's initialized with full_page_writes +@@ -6875,6 +6877,9 @@ CreateCheckPoint(int flags) + */ + END_CRIT_SECTION(); + ++ if (checkpoint_create_hook != NULL) ++ checkpoint_create_hook(&checkPoint); ++ + /* + * In some cases there are groups of actions that must all occur on one + * side or the other of a checkpoint record. Before flushing the +diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h +index 301c5fa11f..437f2a994b 100644 +--- a/src/include/access/xlog.h ++++ b/src/include/access/xlog.h +@@ -13,6 +13,7 @@ + + #include "access/xlogbackup.h" + #include "access/xlogdefs.h" ++#include "catalog/pg_control.h" + #include "datatype/timestamp.h" + #include "lib/stringinfo.h" + #include "nodes/pg_list.h" +@@ -57,6 +58,9 @@ extern PGDLLIMPORT int wal_decode_buffer_size; + + extern PGDLLIMPORT int CheckPointSegments; + ++typedef void (*checkpoint_create_hook_type)(const CheckPoint *); ++extern PGDLLIMPORT checkpoint_create_hook_type checkpoint_create_hook; ++ + /* Archive modes */ + typedef enum ArchiveMode + { +-- +Tristan Partin +Neon (https://neon.tech) + diff --git a/smgr_patch/v1-0004-Add-contrib-fsync_checker.patch b/smgr_patch/v1-0004-Add-contrib-fsync_checker.patch new file mode 100644 index 0000000000000..579d6efdf5b97 --- /dev/null +++ b/smgr_patch/v1-0004-Add-contrib-fsync_checker.patch @@ -0,0 +1,341 @@ +From d46b41d7c89deb23a6a1afec9d7fe3544b9a3327 Mon Sep 17 00:00:00 2001 +From: Tristan Partin +Date: Wed, 20 Sep 2023 14:23:38 -0500 +Subject: [PATCH v1 4/5] Add contrib/fsync_checker + +fsync_checker is an extension which overrides the global storage manager +to check for volatile relations, those which have been written but not +synced to disk. +--- + contrib/Makefile | 1 + + contrib/fsync_checker/fsync_checker.control | 5 + + contrib/fsync_checker/fsync_checker_smgr.c | 249 ++++++++++++++++++++ + contrib/fsync_checker/meson.build | 22 ++ + contrib/meson.build | 1 + + 5 files changed, 278 insertions(+) + create mode 100644 contrib/fsync_checker/fsync_checker.control + create mode 100644 contrib/fsync_checker/fsync_checker_smgr.c + create mode 100644 contrib/fsync_checker/meson.build + +diff --git a/contrib/Makefile b/contrib/Makefile +index da4e2316a3..c55ced6ec0 100644 +--- a/contrib/Makefile ++++ b/contrib/Makefile +@@ -20,6 +20,7 @@ SUBDIRS = \ + dict_int \ + dict_xsyn \ + earthdistance \ ++ fsync_checker \ + file_fdw \ + fuzzystrmatch \ + hstore \ +diff --git a/contrib/fsync_checker/fsync_checker.control b/contrib/fsync_checker/fsync_checker.control +new file mode 100644 +index 0000000000..7d0e36434b +--- /dev/null ++++ b/contrib/fsync_checker/fsync_checker.control +@@ -0,0 +1,5 @@ ++# fsync_checker extension ++comment = 'SMGR extension for checking volatile writes' ++default_version = '1.0' ++module_pathname = '$libdir/fsync_checker' ++relocatable = true +diff --git a/contrib/fsync_checker/fsync_checker_smgr.c b/contrib/fsync_checker/fsync_checker_smgr.c +new file mode 100644 +index 0000000000..feef2f7d3e +--- /dev/null ++++ b/contrib/fsync_checker/fsync_checker_smgr.c +@@ -0,0 +1,249 @@ ++#include "postgres.h" ++ ++#include "access/xlog.h" ++#include "fmgr.h" ++#include "miscadmin.h" ++#include "storage/ipc.h" ++#include "storage/lwlock.h" ++#include "storage/shmem.h" ++#include "storage/smgr.h" ++#include "storage/md.h" ++#include "utils/hsearch.h" ++ ++PG_MODULE_MAGIC; ++ ++typedef struct volatileRelnKey ++{ ++ RelFileLocator locator; ++ ForkNumber forknum; ++} volatileRelnKey; ++ ++typedef struct volatileRelnEntry ++{ ++ volatileRelnKey key; ++ XLogRecPtr lsn; ++} volatileRelnEntry; ++ ++void _PG_init(void); ++ ++static void fsync_checker_extend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, ++ const void *buffer, bool skipFsync); ++static void fsync_checker_immedsync(SMgrRelation reln, ForkNumber forknum); ++static void fsync_checker_writev(SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, const void **buffers, ++ BlockNumber nblocks, bool skipFsync); ++static void fsync_checker_writeback(SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, BlockNumber nblocks); ++static void fsync_checker_zeroextend(SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, int nblocks, bool skipFsync); ++ ++static void fsync_checker_checkpoint_create(const CheckPoint *checkPoint); ++static void fsync_checker_shmem_request(void); ++static void fsync_checker_shmem_startup(void); ++ ++static void add_reln(SMgrRelation reln, ForkNumber forknum); ++static void remove_reln(SMgrRelation reln, ForkNumber forknum); ++ ++static SMgrId fsync_checker_smgr_id; ++static const struct f_smgr fsync_checker_smgr = { ++ .name = "fsync_checker", ++ .smgr_init = mdinit, ++ .smgr_shutdown = NULL, ++ .smgr_open = mdopen, ++ .smgr_close = mdclose, ++ .smgr_create = mdcreate, ++ .smgr_exists = mdexists, ++ .smgr_unlink = mdunlink, ++ .smgr_extend = fsync_checker_extend, ++ .smgr_zeroextend = fsync_checker_zeroextend, ++ .smgr_prefetch = mdprefetch, ++ .smgr_readv = mdreadv, ++ .smgr_writev = fsync_checker_writev, ++ .smgr_writeback = fsync_checker_writeback, ++ .smgr_nblocks = mdnblocks, ++ .smgr_truncate = mdtruncate, ++ .smgr_immedsync = fsync_checker_immedsync, ++}; ++ ++static HTAB *volatile_relns; ++static LWLock *volatile_relns_lock; ++static shmem_request_hook_type prev_shmem_request_hook; ++static shmem_startup_hook_type prev_shmem_startup_hook; ++static checkpoint_create_hook_type prev_checkpoint_create_hook; ++ ++void ++_PG_init(void) ++{ ++ prev_checkpoint_create_hook = checkpoint_create_hook; ++ checkpoint_create_hook = fsync_checker_checkpoint_create; ++ ++ prev_shmem_request_hook = shmem_request_hook; ++ shmem_request_hook = fsync_checker_shmem_request; ++ ++ prev_shmem_startup_hook = shmem_startup_hook; ++ shmem_startup_hook = fsync_checker_shmem_startup; ++ ++ /* ++ * Relation size of 0 means we can just defer to md, but it would be nice ++ * to just expose this functionality, so if I needed my own relation, I ++ * could use MdSmgrRelation as the parent. ++ */ ++ fsync_checker_smgr_id = smgr_register(&fsync_checker_smgr, 0); ++ ++ storage_manager_id = fsync_checker_smgr_id; ++} ++ ++static void ++fsync_checker_checkpoint_create(const CheckPoint *checkPoint) ++{ ++ long num_entries; ++ HASH_SEQ_STATUS status; ++ volatileRelnEntry *entry; ++ ++ if (prev_checkpoint_create_hook) ++ prev_checkpoint_create_hook(checkPoint); ++ ++ LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); ++ ++ hash_seq_init(&status, volatile_relns); ++ ++ num_entries = hash_get_num_entries(volatile_relns); ++ elog(INFO, "Analyzing %ld volatile relations", num_entries); ++ while ((entry = hash_seq_search(&status))) ++ { ++ if (entry->lsn < checkPoint->redo) ++ { ++ char *path; ++ ++ path = relpathperm(entry->key.locator, entry->key.forknum); ++ ++ elog(WARNING, "Relation not previously synced: %s", path); ++ ++ pfree(path); ++ } ++ } ++ ++ LWLockRelease(volatile_relns_lock); ++} ++ ++static void ++fsync_checker_shmem_request(void) ++{ ++ if (prev_shmem_request_hook) ++ prev_shmem_request_hook(); ++ ++ RequestAddinShmemSpace(hash_estimate_size(1024, sizeof(volatileRelnEntry))); ++ RequestNamedLWLockTranche("fsync_checker volatile relns lock", 1); ++} ++ ++static void ++fsync_checker_shmem_startup(void) ++{ ++ HASHCTL ctl; ++ ++ if (prev_shmem_startup_hook) ++ prev_shmem_startup_hook(); ++ ++ ctl.keysize = sizeof(volatileRelnKey); ++ ctl.entrysize = sizeof(volatileRelnEntry); ++ volatile_relns = NULL; ++ volatile_relns_lock = NULL; ++ ++ /* ++ * Create or attach to the shared memory state, including hash table ++ */ ++ LWLockAcquire(AddinShmemInitLock, LW_EXCLUSIVE); ++ ++ volatile_relns = ShmemInitHash("fsync_checker volatile relns", ++ 1024, 1024, &ctl, HASH_BLOBS | HASH_ELEM); ++ volatile_relns_lock = &GetNamedLWLockTranche("fsync_checker volatile relns lock")->lock; ++ ++ LWLockRelease(AddinShmemInitLock); ++} ++ ++static void ++add_reln(SMgrRelation reln, ForkNumber forknum) ++{ ++ bool found; ++ XLogRecPtr lsn; ++ volatileRelnKey key; ++ volatileRelnEntry *entry; ++ ++ key.locator = reln->smgr_rlocator.locator; ++ key.forknum = forknum; ++ ++ lsn = GetXLogWriteRecPtr(); ++ ++ LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); ++ ++ entry = hash_search(volatile_relns, &key, HASH_ENTER, &found); ++ if (!found) ++ entry->lsn = lsn; ++ ++ LWLockRelease(volatile_relns_lock); ++} ++ ++static void ++remove_reln(SMgrRelation reln, ForkNumber forknum) ++{ ++ volatileRelnKey key; ++ ++ key.locator = reln->smgr_rlocator.locator; ++ key.forknum = forknum; ++ ++ LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); ++ ++ hash_search(volatile_relns, &key, HASH_REMOVE, NULL); ++ ++ LWLockRelease(volatile_relns_lock); ++} ++ ++static void ++fsync_checker_extend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, ++ const void *buffer, bool skipFsync) ++{ ++ if (!SmgrIsTemp(reln) && !skipFsync) ++ add_reln(reln, forknum); ++ ++ mdextend(reln, forknum, blocknum, buffer, skipFsync); ++} ++ ++static void ++fsync_checker_immedsync(SMgrRelation reln, ForkNumber forknum) ++{ ++ if (!SmgrIsTemp(reln)) ++ remove_reln(reln, forknum); ++ ++ mdimmedsync(reln, forknum); ++} ++ ++static void ++fsync_checker_writev(SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, const void **buffers, ++ BlockNumber nblocks, bool skipFsync) ++{ ++ if (!SmgrIsTemp(reln) && !skipFsync) ++ add_reln(reln, forknum); ++ ++ mdwritev(reln, forknum, blocknum, buffers, nblocks, skipFsync); ++} ++ ++static void ++fsync_checker_writeback(SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, BlockNumber nblocks) ++{ ++ if (!SmgrIsTemp(reln)) ++ remove_reln(reln, forknum); ++ ++ mdwriteback(reln, forknum, blocknum, nblocks); ++} ++ ++static void ++fsync_checker_zeroextend(SMgrRelation reln, ForkNumber forknum, ++ BlockNumber blocknum, int nblocks, bool skipFsync) ++{ ++ if (!SmgrIsTemp(reln) && !skipFsync) ++ add_reln(reln, forknum); ++ ++ mdzeroextend(reln, forknum, blocknum, nblocks, skipFsync); ++} +diff --git a/contrib/fsync_checker/meson.build b/contrib/fsync_checker/meson.build +new file mode 100644 +index 0000000000..ce6ed7fe90 +--- /dev/null ++++ b/contrib/fsync_checker/meson.build +@@ -0,0 +1,22 @@ ++# Copyright (c) 2023, PostgreSQL Global Development Group ++ ++fsync_checker_sources = files( ++ 'fsync_checker_smgr.c', ++) ++ ++if host_system == 'windows' ++ fsync_checker_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ ++ '--NAME', 'fsync_checker', ++ '--FILEDESC', 'fsync_checker - SMGR extension for checking volatile relations',]) ++endif ++ ++fsync_checker = shared_module('fsync_checker', ++ fsync_checker_sources, ++ kwargs: contrib_mod_args, ++) ++contrib_targets += fsync_checker ++ ++install_data( ++ 'fsync_checker.control', ++ kwargs: contrib_data_args, ++) +diff --git a/contrib/meson.build b/contrib/meson.build +index c12dc906ca..e5d872494a 100644 +--- a/contrib/meson.build ++++ b/contrib/meson.build +@@ -29,6 +29,7 @@ subdir('dict_int') + subdir('dict_xsyn') + subdir('earthdistance') + subdir('file_fdw') ++subdir('fsync_checker') + subdir('fuzzystrmatch') + subdir('hstore') + subdir('hstore_plperl') +-- +Tristan Partin +Neon (https://neon.tech) + From c3c1ae6295b9f69c60586f199e641930e938db06 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Wed, 31 Jul 2024 20:50:15 +0100 Subject: [PATCH 07/45] fixing rebase bug --- src/backend/storage/smgr/md.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index f3e52b2b15884..a2dcd2068c959 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -1299,6 +1299,7 @@ mdregistersync(SMgrRelation reln, ForkNumber forknum) { int segno; int min_inactive_seg; + MdSMgrRelation mdreln = (MdSMgrRelation) reln; /* * NOTE: mdnblocks makes sure we have opened all active segments, so that @@ -1306,7 +1307,7 @@ mdregistersync(SMgrRelation reln, ForkNumber forknum) */ mdnblocks(reln, forknum); - min_inactive_seg = segno = reln->md_num_open_segs[forknum]; + min_inactive_seg = segno = mdreln->md_num_open_segs[forknum]; /* * Temporarily open inactive segments, then close them after sync. There @@ -1314,20 +1315,20 @@ mdregistersync(SMgrRelation reln, ForkNumber forknum) * harmless. We don't bother to clean them up and take a risk of further * trouble. The next mdclose() will soon close them. */ - while (_mdfd_openseg(reln, forknum, segno, 0) != NULL) + while (_mdfd_openseg(mdreln, forknum, segno, 0) != NULL) segno++; while (segno > 0) { - MdfdVec *v = &reln->md_seg_fds[forknum][segno - 1]; + MdfdVec *v = &mdreln->md_seg_fds[forknum][segno - 1]; - register_dirty_segment(reln, forknum, v); + register_dirty_segment(mdreln, forknum, v); /* Close inactive segments immediately */ if (segno > min_inactive_seg) { FileClose(v->mdfd_vfd); - _fdvec_resize(reln, forknum, segno - 1); + _fdvec_resize(mdreln, forknum, segno - 1); } segno--; From c239a8c111bf71f6f0df89486119de9ca7146c4a Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Wed, 28 Aug 2024 20:24:26 +0100 Subject: [PATCH 08/45] Removed fsync_checker extension from patch as we do not want to include it --- contrib/Makefile | 1 - contrib/fsync_checker/fsync_checker.control | 5 - contrib/fsync_checker/fsync_checker_smgr.c | 250 -------------------- contrib/fsync_checker/meson.build | 22 -- contrib/meson.build | 1 - 5 files changed, 279 deletions(-) delete mode 100644 contrib/fsync_checker/fsync_checker.control delete mode 100644 contrib/fsync_checker/fsync_checker_smgr.c delete mode 100644 contrib/fsync_checker/meson.build diff --git a/contrib/Makefile b/contrib/Makefile index 091dd9e33228a..abd780f277405 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -19,7 +19,6 @@ SUBDIRS = \ dict_int \ dict_xsyn \ earthdistance \ - fsync_checker \ file_fdw \ fuzzystrmatch \ hstore \ diff --git a/contrib/fsync_checker/fsync_checker.control b/contrib/fsync_checker/fsync_checker.control deleted file mode 100644 index 7d0e36434bfaf..0000000000000 --- a/contrib/fsync_checker/fsync_checker.control +++ /dev/null @@ -1,5 +0,0 @@ -# fsync_checker extension -comment = 'SMGR extension for checking volatile writes' -default_version = '1.0' -module_pathname = '$libdir/fsync_checker' -relocatable = true diff --git a/contrib/fsync_checker/fsync_checker_smgr.c b/contrib/fsync_checker/fsync_checker_smgr.c deleted file mode 100644 index 17d0accb1eeba..0000000000000 --- a/contrib/fsync_checker/fsync_checker_smgr.c +++ /dev/null @@ -1,250 +0,0 @@ -#include "postgres.h" - -#include "access/xlog.h" -#include "fmgr.h" -#include "miscadmin.h" -#include "storage/ipc.h" -#include "storage/lwlock.h" -#include "storage/shmem.h" -#include "storage/smgr.h" -#include "storage/md.h" -#include "utils/hsearch.h" - -PG_MODULE_MAGIC; - -typedef struct volatileRelnKey -{ - RelFileLocator locator; - ForkNumber forknum; -} volatileRelnKey; - -typedef struct volatileRelnEntry -{ - volatileRelnKey key; - XLogRecPtr lsn; -} volatileRelnEntry; - -void _PG_init(void); - -static void fsync_checker_extend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, - const void *buffer, bool skipFsync); -static void fsync_checker_immedsync(SMgrRelation reln, ForkNumber forknum); -static void fsync_checker_writev(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, const void **buffers, - BlockNumber nblocks, bool skipFsync); -static void fsync_checker_writeback(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, BlockNumber nblocks); -static void fsync_checker_zeroextend(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks, bool skipFsync); - -static void fsync_checker_checkpoint_create(const CheckPoint *checkPoint); -static void fsync_checker_shmem_request(void); -static void fsync_checker_shmem_startup(void); - -static void add_reln(SMgrRelation reln, ForkNumber forknum); -static void remove_reln(SMgrRelation reln, ForkNumber forknum); - -static SMgrId fsync_checker_smgr_id; -static const struct f_smgr fsync_checker_smgr = { - .name = "fsync_checker", - .smgr_init = mdinit, - .smgr_shutdown = NULL, - .smgr_open = mdopen, - .smgr_close = mdclose, - .smgr_create = mdcreate, - .smgr_exists = mdexists, - .smgr_unlink = mdunlink, - .smgr_extend = fsync_checker_extend, - .smgr_zeroextend = fsync_checker_zeroextend, - .smgr_prefetch = mdprefetch, - .smgr_readv = mdreadv, - .smgr_writev = fsync_checker_writev, - .smgr_writeback = fsync_checker_writeback, - .smgr_nblocks = mdnblocks, - .smgr_truncate = mdtruncate, - .smgr_immedsync = fsync_checker_immedsync, - .smgr_registersync = mdregistersync, -}; - -static HTAB *volatile_relns; -static LWLock *volatile_relns_lock; -static shmem_request_hook_type prev_shmem_request_hook; -static shmem_startup_hook_type prev_shmem_startup_hook; -static checkpoint_create_hook_type prev_checkpoint_create_hook; - -void -_PG_init(void) -{ - prev_checkpoint_create_hook = checkpoint_create_hook; - checkpoint_create_hook = fsync_checker_checkpoint_create; - - prev_shmem_request_hook = shmem_request_hook; - shmem_request_hook = fsync_checker_shmem_request; - - prev_shmem_startup_hook = shmem_startup_hook; - shmem_startup_hook = fsync_checker_shmem_startup; - - /* - * Relation size of 0 means we can just defer to md, but it would be nice - * to just expose this functionality, so if I needed my own relation, I - * could use MdSmgrRelation as the parent. - */ - fsync_checker_smgr_id = smgr_register(&fsync_checker_smgr, 0); - - storage_manager_id = fsync_checker_smgr_id; -} - -static void -fsync_checker_checkpoint_create(const CheckPoint *checkPoint) -{ - long num_entries; - HASH_SEQ_STATUS status; - volatileRelnEntry *entry; - - if (prev_checkpoint_create_hook) - prev_checkpoint_create_hook(checkPoint); - - LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); - - hash_seq_init(&status, volatile_relns); - - num_entries = hash_get_num_entries(volatile_relns); - elog(INFO, "Analyzing %ld volatile relations", num_entries); - while ((entry = hash_seq_search(&status))) - { - if (entry->lsn < checkPoint->redo) - { - char *path; - - path = relpathperm(entry->key.locator, entry->key.forknum); - - elog(WARNING, "Relation not previously synced: %s", path); - - pfree(path); - } - } - - LWLockRelease(volatile_relns_lock); -} - -static void -fsync_checker_shmem_request(void) -{ - if (prev_shmem_request_hook) - prev_shmem_request_hook(); - - RequestAddinShmemSpace(hash_estimate_size(1024, sizeof(volatileRelnEntry))); - RequestNamedLWLockTranche("fsync_checker volatile relns lock", 1); -} - -static void -fsync_checker_shmem_startup(void) -{ - HASHCTL ctl; - - if (prev_shmem_startup_hook) - prev_shmem_startup_hook(); - - ctl.keysize = sizeof(volatileRelnKey); - ctl.entrysize = sizeof(volatileRelnEntry); - volatile_relns = NULL; - volatile_relns_lock = NULL; - - /* - * Create or attach to the shared memory state, including hash table - */ - LWLockAcquire(AddinShmemInitLock, LW_EXCLUSIVE); - - volatile_relns = ShmemInitHash("fsync_checker volatile relns", - 1024, 1024, &ctl, HASH_BLOBS | HASH_ELEM); - volatile_relns_lock = &GetNamedLWLockTranche("fsync_checker volatile relns lock")->lock; - - LWLockRelease(AddinShmemInitLock); -} - -static void -add_reln(SMgrRelation reln, ForkNumber forknum) -{ - bool found; - XLogRecPtr lsn; - volatileRelnKey key; - volatileRelnEntry *entry; - - key.locator = reln->smgr_rlocator.locator; - key.forknum = forknum; - - lsn = GetXLogWriteRecPtr(); - - LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); - - entry = hash_search(volatile_relns, &key, HASH_ENTER, &found); - if (!found) - entry->lsn = lsn; - - LWLockRelease(volatile_relns_lock); -} - -static void -remove_reln(SMgrRelation reln, ForkNumber forknum) -{ - volatileRelnKey key; - - key.locator = reln->smgr_rlocator.locator; - key.forknum = forknum; - - LWLockAcquire(volatile_relns_lock, LW_EXCLUSIVE); - - hash_search(volatile_relns, &key, HASH_REMOVE, NULL); - - LWLockRelease(volatile_relns_lock); -} - -static void -fsync_checker_extend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, - const void *buffer, bool skipFsync) -{ - if (!SmgrIsTemp(reln) && !skipFsync) - add_reln(reln, forknum); - - mdextend(reln, forknum, blocknum, buffer, skipFsync); -} - -static void -fsync_checker_immedsync(SMgrRelation reln, ForkNumber forknum) -{ - if (!SmgrIsTemp(reln)) - remove_reln(reln, forknum); - - mdimmedsync(reln, forknum); -} - -static void -fsync_checker_writev(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, const void **buffers, - BlockNumber nblocks, bool skipFsync) -{ - if (!SmgrIsTemp(reln) && !skipFsync) - add_reln(reln, forknum); - - mdwritev(reln, forknum, blocknum, buffers, nblocks, skipFsync); -} - -static void -fsync_checker_writeback(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, BlockNumber nblocks) -{ - if (!SmgrIsTemp(reln)) - remove_reln(reln, forknum); - - mdwriteback(reln, forknum, blocknum, nblocks); -} - -static void -fsync_checker_zeroextend(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks, bool skipFsync) -{ - if (!SmgrIsTemp(reln) && !skipFsync) - add_reln(reln, forknum); - - mdzeroextend(reln, forknum, blocknum, nblocks, skipFsync); -} diff --git a/contrib/fsync_checker/meson.build b/contrib/fsync_checker/meson.build deleted file mode 100644 index ce6ed7fe90bbb..0000000000000 --- a/contrib/fsync_checker/meson.build +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2023, PostgreSQL Global Development Group - -fsync_checker_sources = files( - 'fsync_checker_smgr.c', -) - -if host_system == 'windows' - fsync_checker_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ - '--NAME', 'fsync_checker', - '--FILEDESC', 'fsync_checker - SMGR extension for checking volatile relations',]) -endif - -fsync_checker = shared_module('fsync_checker', - fsync_checker_sources, - kwargs: contrib_mod_args, -) -contrib_targets += fsync_checker - -install_data( - 'fsync_checker.control', - kwargs: contrib_data_args, -) diff --git a/contrib/meson.build b/contrib/meson.build index 907c3f4fd18a8..ce5630d64aee5 100644 --- a/contrib/meson.build +++ b/contrib/meson.build @@ -28,7 +28,6 @@ subdir('dict_int') subdir('dict_xsyn') subdir('earthdistance') subdir('file_fdw') -subdir('fsync_checker') subdir('fuzzystrmatch') subdir('hstore') subdir('hstore_plperl') From 5786e24b21bc8f160eeabff169d23d68ce0c9465 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Wed, 28 Aug 2024 20:26:58 +0100 Subject: [PATCH 09/45] Updated pg_tde submodule reference --- .gitmodules | 2 +- contrib/pg_tde | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 21078cb7f88f3..da75b1982f3ee 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "contrib/pg_tde"] path = contrib/pg_tde url = https://github.com/Percona-Lab/pg_tde.git - branch = smgr + branch = main diff --git a/contrib/pg_tde b/contrib/pg_tde index 36f6d6bff8f67..058666090e0c3 160000 --- a/contrib/pg_tde +++ b/contrib/pg_tde @@ -1 +1 @@ -Subproject commit 36f6d6bff8f67ffa9b3f84a5d548512f86f0d7b7 +Subproject commit 058666090e0c31d676049d020a8a10df94ed2fe0 From 0388294643712341030294c7d1008d6c0339365c Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Thu, 29 Aug 2024 18:47:48 +0100 Subject: [PATCH 10/45] Added pg_tde to makefile --- contrib/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/Makefile b/contrib/Makefile index abd780f277405..272c59fb7613a 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -35,6 +35,7 @@ SUBDIRS = \ pg_prewarm \ pg_stat_statements \ pg_surgery \ + pg_tde \ pg_trgm \ pgrowlocks \ pgstattuple \ From 7573d1b59f4fe58c1a4664a5055b947ed9310979 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Sun, 1 Sep 2024 17:32:47 +0100 Subject: [PATCH 11/45] PG-981: Renamed PERCONA_FORK to PERCONA_EXT --- src/include/pg_config_manual.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index 9dc31cb64a632..6406a599fdabf 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h @@ -387,4 +387,4 @@ /* * Enable Percona specific features, should always be defined in this fork */ -#define PERCONA_FORK 1 +#define PERCONA_EXT 1 From 3ceb503c9db705db7a9c61fb36aefc2841aa079f Mon Sep 17 00:00:00 2001 From: Muhammad Usama Date: Mon, 2 Sep 2024 13:39:44 +0500 Subject: [PATCH 12/45] PG-847: exclude pg_tde* files from checksum validation --- src/bin/pg_checksums/pg_checksums.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c index 9e6fd435f6069..4cfb9e2c79427 100644 --- a/src/bin/pg_checksums/pg_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -110,6 +110,7 @@ static const struct exclude_list_item skip[] = { {"pg_filenode.map", false}, {"pg_internal.init", true}, {"PG_VERSION", false}, + {"pg_tde", true}, #ifdef EXEC_BACKEND {"config_exec_params", true}, #endif From 8453f59ca955d0dd9f640e63fbd43410d64358e1 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Thu, 29 Aug 2024 08:45:41 +0530 Subject: [PATCH 13/45] Doc: Fix the ambiguity in the description of failover slots. The failover slots ensure a seamless transition of a subscriber after the standby is promoted. But the docs for it also explain the behavior of asynchronous replication which can confuse the readers. Reported-by: Masahiro Ikeda Backpatch-through: 17 Discussion: https://postgr.es/m/OS3PR01MB6390B660F4198BB9745E0526B18B2@OS3PR01MB6390.jpnprd01.prod.outlook.com --- doc/src/sgml/logical-replication.sgml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index a23a3d57e2b47..88b2491e09b3e 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -701,10 +701,7 @@ ALTER SUBSCRIPTION failover parameter ensures a seamless transition of those subscriptions after the standby is promoted. They can continue subscribing to publications on the - new primary server without losing data. Note that in the case of - asynchronous replication, there remains a risk of data loss for transactions - committed on the former primary server but have yet to be replicated to the new - primary server. + new primary server. @@ -791,7 +788,7 @@ test_standby=# SELECT slot_name, (synced AND NOT temporary AND NOT conflicting) If all the slots are present on the standby server and the result (failover_ready) of the above SQL query is true, then existing subscriptions can continue subscribing to publications now on the - new primary server without losing data. + new primary server. From d22a0582cfec4227cd9aa3aa5f63e32f380ba4a1 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 29 Aug 2024 08:38:29 +0200 Subject: [PATCH 14/45] Disallow USING clause when altering type of generated column This does not make sense. It would write the output of the USING clause into the converted column, which would violate the generation expression. This adds a check to error out if this is specified. There was a test for this, but that test errored out for a different reason, so it was not effective. Reported-by: Jian He Reviewed-by: Yugo NAGATA Discussion: https://www.postgresql.org/message-id/flat/c7083982-69f4-4b14-8315-f9ddb20b9834%40eisentraut.org --- src/backend/commands/tablecmds.c | 13 ++++++++++++- src/test/regress/expected/generated.out | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 2cc736aecca2f..26e001f18869c 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -12704,6 +12704,16 @@ ATPrepAlterColumnType(List **wqueue, errmsg("cannot alter system column \"%s\"", colName))); + /* + * Cannot specify USING when altering type of a generated column, because + * that would violate the generation expression. + */ + if (attTup->attgenerated && def->cooked_default) + ereport(ERROR, + (errcode(ERRCODE_INVALID_COLUMN_DEFINITION), + errmsg("cannot specify USING when altering type of generated column"), + errdetail("Column \"%s\" is a generated column.", colName))); + /* * Don't alter inherited columns. At outer level, there had better not be * any inherited definition; when recursing, we assume this was checked at @@ -12780,11 +12790,12 @@ ATPrepAlterColumnType(List **wqueue, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("column \"%s\" cannot be cast automatically to type %s", colName, format_type_be(targettype)), + !attTup->attgenerated ? /* translator: USING is SQL, don't translate it */ errhint("You might need to specify \"USING %s::%s\".", quote_identifier(colName), format_type_with_typemod(targettype, - targettypmod)))); + targettypmod)) : 0)); } /* Fix collations after all else */ diff --git a/src/test/regress/expected/generated.out b/src/test/regress/expected/generated.out index 44058db7c1d51..499072e14ca87 100644 --- a/src/test/regress/expected/generated.out +++ b/src/test/regress/expected/generated.out @@ -1026,7 +1026,8 @@ SELECT * FROM gtest27; (2 rows) ALTER TABLE gtest27 ALTER COLUMN x TYPE boolean USING x <> 0; -- error -ERROR: generation expression for column "x" cannot be cast automatically to type boolean +ERROR: cannot specify USING when altering type of generated column +DETAIL: Column "x" is a generated column. ALTER TABLE gtest27 ALTER COLUMN x DROP DEFAULT; -- error ERROR: column "x" of relation "gtest27" is a generated column HINT: Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead. From 8f332645c13d863b3c0678bb6b0ff7eb588f2fd9 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 29 Aug 2024 14:33:18 +0200 Subject: [PATCH 15/45] Message style improvements --- src/backend/access/transam/varsup.c | 6 +-- src/backend/access/transam/xact.c | 2 +- src/backend/backup/basebackup_incremental.c | 2 +- src/backend/commands/copyfromparse.c | 4 +- src/backend/commands/subscriptioncmds.c | 2 +- src/backend/commands/tablecmds.c | 2 +- src/backend/postmaster/walsummarizer.c | 8 ++-- src/backend/replication/logical/logical.c | 2 +- src/backend/replication/logical/slotsync.c | 43 ++++++++++--------- src/backend/replication/pgoutput/pgoutput.c | 4 +- src/backend/replication/slot.c | 28 ++++++------ src/backend/rewrite/rewriteHandler.c | 2 +- src/backend/utils/adt/jsonpath_exec.c | 8 ++-- src/backend/utils/misc/guc_tables.c | 10 ++--- src/bin/pg_basebackup/t/010_pg_basebackup.pl | 2 +- src/common/parse_manifest.c | 2 +- .../t/040_standby_failover_slots_sync.pl | 14 +++--- src/test/regress/expected/copy2.out | 14 +++--- src/test/regress/expected/foreign_key.out | 2 +- src/test/regress/expected/jsonb_jsonpath.out | 12 +++--- .../regress/expected/sqljson_jsontable.out | 2 +- .../regress/expected/sqljson_queryfuncs.out | 2 +- src/test/regress/expected/updatable_views.out | 2 +- 23 files changed, 90 insertions(+), 85 deletions(-) diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c index fb6a86afcb134..cfe8c6cf8dc08 100644 --- a/src/backend/access/transam/varsup.c +++ b/src/backend/access/transam/varsup.c @@ -153,14 +153,14 @@ GetNewTransactionId(bool isSubXact) if (oldest_datname) ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"", + errmsg("database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"", oldest_datname), errhint("Execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."))); else ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u", + errmsg("database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u", oldest_datoid), errhint("Execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."))); @@ -175,7 +175,7 @@ GetNewTransactionId(bool isSubXact) (errmsg("database \"%s\" must be vacuumed within %u transactions", oldest_datname, xidWrapLimit - xid), - errhint("To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" + errhint("To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."))); else ereport(WARNING, diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 9bda1aa6bc6dd..4cecf63006043 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -646,7 +646,7 @@ AssignTransactionId(TransactionState s) if (IsInParallelMode() || IsParallelWorker()) ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_STATE), - errmsg("cannot assign XIDs during a parallel operation"))); + errmsg("cannot assign transaction IDs during a parallel operation"))); /* * Ensure parent(s) have XIDs, so that a child always has an XID later diff --git a/src/backend/backup/basebackup_incremental.c b/src/backend/backup/basebackup_incremental.c index af361f38a6c1a..15082c2987884 100644 --- a/src/backend/backup/basebackup_incremental.c +++ b/src/backend/backup/basebackup_incremental.c @@ -953,7 +953,7 @@ manifest_process_system_identifier(JsonManifestParseContext *context, if (manifest_system_identifier != system_identifier) context->error_cb(context, - "manifest system identifier is %llu, but database system identifier is %llu", + "system identifier in backup manifest is %llu, but database system identifier is %llu", (unsigned long long) manifest_system_identifier, (unsigned long long) system_identifier); } diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index 7efcb891598f0..97a4c387a3058 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -987,7 +987,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, attval = CopyLimitPrintoutLength(cstate->cur_attval); ereport(NOTICE, - errmsg("skipping row due to data type incompatibility at line %llu for column %s: \"%s\"", + errmsg("skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"", (unsigned long long) cstate->cur_lineno, cstate->cur_attname, attval)); @@ -995,7 +995,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, } else ereport(NOTICE, - errmsg("skipping row due to data type incompatibility at line %llu for column %s: null input", + errmsg("skipping row due to data type incompatibility at line %llu for column \"%s\": null input", (unsigned long long) cstate->cur_lineno, cstate->cur_attname)); diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index e407428dbcfef..8ecb6e0bb87ad 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1230,7 +1230,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt, if (!sub->slotname) ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot set %s for a subscription that does not have a slot name", + errmsg("cannot set option \"%s\" for a subscription that does not have a slot name", "failover"))); /* diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 26e001f18869c..0ecdecc2564e7 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -10741,7 +10741,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) if (fk->confrelid == RelationGetRelid(partRel)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("can't attach table \"%s\" as a partition which is referenced by foreign key \"%s\"", + errmsg("cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"", RelationGetRelationName(partRel), get_constraint_name(fk->conoid)))); diff --git a/src/backend/postmaster/walsummarizer.c b/src/backend/postmaster/walsummarizer.c index daa79093821b9..c1bf4a70dd174 100644 --- a/src/backend/postmaster/walsummarizer.c +++ b/src/backend/postmaster/walsummarizer.c @@ -752,9 +752,11 @@ WaitForWalSummarization(XLogRecPtr lsn) current_time) / 1000; ereport(WARNING, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("still waiting for WAL summarization through %X/%X after %ld seconds", - LSN_FORMAT_ARGS(lsn), - elapsed_seconds), + errmsg_plural("still waiting for WAL summarization through %X/%X after %ld second", + "still waiting for WAL summarization through %X/%X after %ld seconds", + elapsed_seconds, + LSN_FORMAT_ARGS(lsn), + elapsed_seconds), errdetail("Summarization has reached %X/%X on disk and %X/%X in memory.", LSN_FORMAT_ARGS(summarized_lsn), LSN_FORMAT_ARGS(pending_lsn)))); diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index f8ef5d56d2693..3fe1774a1e91d 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -539,7 +539,7 @@ CreateDecodingContext(XLogRecPtr start_lsn, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot use replication slot \"%s\" for logical decoding", NameStr(slot->data.name)), - errdetail("This slot is being synchronized from the primary server."), + errdetail("This replication slot is being synchronized from the primary server."), errhint("Specify another replication slot.")); /* diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index f2bebefcfdea1..ebfbaebe16cf8 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -212,9 +212,9 @@ update_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid, * impact the users, so we used DEBUG1 level to log the message. */ ereport(slot->data.persistency == RS_TEMPORARY ? LOG : DEBUG1, - errmsg("could not sync slot \"%s\" as remote slot precedes local slot", + errmsg("could not synchronize replication slot \"%s\" because remote slot precedes local slot", remote_slot->name), - errdetail("Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u.", + errdetail("The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u.", LSN_FORMAT_ARGS(remote_slot->restart_lsn), remote_slot->catalog_xmin, LSN_FORMAT_ARGS(slot->data.restart_lsn), @@ -456,7 +456,7 @@ drop_local_obsolete_slots(List *remote_slot_list) 0, AccessShareLock); ereport(LOG, - errmsg("dropped replication slot \"%s\" of dbid %u", + errmsg("dropped replication slot \"%s\" of database with OID %u", NameStr(local_slot->data.name), local_slot->data.database)); } @@ -576,8 +576,8 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid) if (!found_consistent_snapshot) { ereport(LOG, - errmsg("could not sync slot \"%s\"", remote_slot->name), - errdetail("Logical decoding cannot find consistent point from local slot's LSN %X/%X.", + errmsg("could not synchronize replication slot \"%s\"", remote_slot->name), + errdetail("Logical decoding could not find consistent point from local slot's LSN %X/%X.", LSN_FORMAT_ARGS(slot->data.restart_lsn))); return false; @@ -586,7 +586,7 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid) ReplicationSlotPersist(); ereport(LOG, - errmsg("newly created slot \"%s\" is sync-ready now", + errmsg("newly created replication slot \"%s\" is sync-ready now", remote_slot->name)); return true; @@ -625,7 +625,7 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid) */ ereport(AmLogicalSlotSyncWorkerProcess() ? LOG : ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("skipping slot synchronization as the received slot sync" + errmsg("skipping slot synchronization because the received slot sync" " LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X", LSN_FORMAT_ARGS(remote_slot->confirmed_lsn), remote_slot->name, @@ -992,10 +992,9 @@ validate_remote_info(WalReceiverConn *wrconn) if (!primary_slot_valid) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires valid primary_slot_name"), /* translator: second %s is a GUC variable name */ - errdetail("The replication slot \"%s\" specified by %s does not exist on the primary server.", - PrimarySlotName, "primary_slot_name")); + errmsg("replication slot \"%s\" specified by \"%s\" does not exist on primary server", + PrimarySlotName, "primary_slot_name")); ExecClearTuple(tupslot); walrcv_clear_result(res); @@ -1022,9 +1021,13 @@ CheckAndGetDbnameFromConninfo(void) if (dbname == NULL) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - /* translator: dbname is a specific option; %s is a GUC variable name */ - errmsg("slot synchronization requires dbname to be specified in %s", - "primary_conninfo")); + + /* + * translator: first %s is a connection option; second %s is a GUC + * variable name + */ + errmsg("replication slot synchronization requires \"%s\" to be specified in \"%s\"", + "dbname", "primary_conninfo")); return dbname; } @@ -1044,7 +1047,7 @@ ValidateSlotSyncParams(int elevel) if (wal_level < WAL_LEVEL_LOGICAL) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires \"wal_level\" >= \"logical\"")); + errmsg("replication slot synchronization requires \"wal_level\" >= \"logical\"")); /* * A physical replication slot(primary_slot_name) is required on the @@ -1057,7 +1060,7 @@ ValidateSlotSyncParams(int elevel) ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* translator: %s is a GUC variable name */ - errmsg("slot synchronization requires %s to be defined", "primary_slot_name")); + errmsg("replication slot synchronization requires \"%s\" to be set", "primary_slot_name")); return false; } @@ -1071,7 +1074,7 @@ ValidateSlotSyncParams(int elevel) ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* translator: %s is a GUC variable name */ - errmsg("slot synchronization requires %s to be enabled", + errmsg("replication slot synchronization requires \"%s\" to be enabled", "hot_standby_feedback")); return false; } @@ -1085,7 +1088,7 @@ ValidateSlotSyncParams(int elevel) ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* translator: %s is a GUC variable name */ - errmsg("slot synchronization requires %s to be defined", + errmsg("replication slot synchronization requires \"%s\" to be set", "primary_conninfo")); return false; } @@ -1123,7 +1126,7 @@ slotsync_reread_config(void) { ereport(LOG, /* translator: %s is a GUC variable name */ - errmsg("slot sync worker will shutdown because %s is disabled", "sync_replication_slots")); + errmsg("replication slot synchronization worker will shut down because \"%s\" is disabled", "sync_replication_slots")); proc_exit(0); } @@ -1132,7 +1135,7 @@ slotsync_reread_config(void) (old_hot_standby_feedback != hot_standby_feedback)) { ereport(LOG, - errmsg("slot sync worker will restart because of a parameter change")); + errmsg("replication slot synchronization worker will restart because of a parameter change")); /* * Reset the last-start time for this worker so that the postmaster @@ -1156,7 +1159,7 @@ ProcessSlotSyncInterrupts(WalReceiverConn *wrconn) if (ShutdownRequestPending) { ereport(LOG, - errmsg("slot sync worker is shutting down on receiving SIGINT")); + errmsg("replication slot synchronization worker is shutting down on receiving SIGINT")); proc_exit(0); } diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index abef4eaf68bef..00e7024563e6c 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -404,11 +404,11 @@ parse_output_parameters(List *options, PGOutputData *data) if (!protocol_version_given) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("proto_version option missing")); + errmsg("option \"%s\" missing", "proto_version")); if (!publication_names_given) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("publication_names option missing")); + errmsg("option \"%s\" missing", "publication_names")); } /* diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index baf9b89dc4297..abd78d7b6cc75 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -795,7 +795,7 @@ ReplicationSlotDrop(const char *name, bool nowait) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot drop replication slot \"%s\"", name), - errdetail("This slot is being synced from the primary server.")); + errdetail("This replication slot is being synchronized from the primary server.")); ReplicationSlotDropAcquired(); } @@ -826,7 +826,7 @@ ReplicationSlotAlter(const char *name, bool failover) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot alter replication slot \"%s\"", name), - errdetail("This slot is being synced from the primary server.")); + errdetail("This replication slot is being synchronized from the primary server.")); /* * Do not allow users to enable failover on the standby as we do not @@ -2635,11 +2635,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) */ ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("replication slot \"%s\" specified in parameter %s does not exist", + errmsg("replication slot \"%s\" specified in parameter \"%s\" does not exist", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider creating the slot \"%s\" or amend parameter %s.", + errhint("Create the replication slot \"%s\" or amend parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2656,11 +2656,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) */ ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("cannot have logical replication slot \"%s\" in parameter %s", + errmsg("cannot specify logical replication slot \"%s\" in parameter \"%s\"", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting for correction on \"%s\".", + errdetail("Logical replication is waiting for correction on replication slot \"%s\".", name), - errhint("Consider removing logical slot \"%s\" from parameter %s.", + errhint("Remove the logical replication slot \"%s\" from parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2676,11 +2676,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) /* Specified physical slot has been invalidated */ ereport(elevel, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("physical slot \"%s\" specified in parameter %s has been invalidated", + errmsg("physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider dropping and recreating the slot \"%s\" or amend parameter %s.", + errhint("Drop and recreate the replication slot \"%s\", or amend parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2691,11 +2691,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) if (inactive) ereport(elevel, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("replication slot \"%s\" specified in parameter %s does not have active_pid", + errmsg("replication slot \"%s\" specified in parameter \"%s\" does not have active_pid", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider starting standby associated with \"%s\" or amend parameter %s.", + errhint("Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\".", name, "synchronized_standby_slots")); /* Continue if the current slot hasn't caught up. */ diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index c223a2c50aff5..6d59a2bb8dcda 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -3362,7 +3362,7 @@ rewriteTargetView(Query *parsetree, Relation view) errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot merge into view \"%s\"", RelationGetRelationName(view)), - errdetail("MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others."), + errdetail("MERGE is not supported for views with INSTEAD OF triggers for some actions but not all."), errhint("To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers.")); } } diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index c47221b7ee77e..e3ee0093d4d63 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -1382,7 +1382,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, if (res == jperNotFound) RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM), - errmsg("jsonpath item method .%s() can only be applied to a bool, string, or numeric value", + errmsg("jsonpath item method .%s() can only be applied to a boolean, string, or numeric value", jspOperationName(jsp->type))))); jb = &jbv; @@ -1663,7 +1663,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, case jbvBinary: RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM), - errmsg("jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value", + errmsg("jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value", jspOperationName(jsp->type))))); break; } @@ -3984,12 +3984,12 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty, (errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM), errmsg("JSON path expression for column \"%s\" should return single item without wrapper", column_name), - errhint("Use WITH WRAPPER clause to wrap SQL/JSON items into array."))); + errhint("Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."))); else ereport(ERROR, (errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM), errmsg("JSON path expression in JSON_QUERY should return single item without wrapper"), - errhint("Use WITH WRAPPER clause to wrap SQL/JSON items into array."))); + errhint("Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."))); } if (singleton) diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index 5977c48744aac..a165bf5c36e8a 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -2019,7 +2019,7 @@ struct config_bool ConfigureNamesBool[] = { {"sync_replication_slots", PGC_SIGHUP, REPLICATION_STANDBY, - gettext_noop("Enables a physical standby to synchronize logical failover slots from the primary server."), + gettext_noop("Enables a physical standby to synchronize logical failover replication slots from the primary server."), }, &sync_replication_slots, false, @@ -2349,7 +2349,7 @@ struct config_int ConfigureNamesInt[] = { {"subtransaction_buffers", PGC_POSTMASTER, RESOURCES_MEM, - gettext_noop("Sets the size of the dedicated buffer pool used for the sub-transaction cache."), + gettext_noop("Sets the size of the dedicated buffer pool used for the subtransaction cache."), gettext_noop("Specify 0 to have this value determined as a fraction of shared_buffers."), GUC_UNIT_BLOCKS }, @@ -4699,11 +4699,11 @@ struct config_string ConfigureNamesString[] = { {"synchronized_standby_slots", PGC_SIGHUP, REPLICATION_PRIMARY, - gettext_noop("Lists streaming replication standby server slot " + gettext_noop("Lists streaming replication standby server replication slot " "names that logical WAL sender processes will wait for."), gettext_noop("Logical WAL sender processes will send decoded " - "changes to plugins only after the specified " - "replication slots confirm receiving WAL."), + "changes to output plugins only after the specified " + "replication slots have confirmed receiving WAL."), GUC_LIST_INPUT }, &synchronized_standby_slots, diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index eebe3307d2cba..403acb6eb4115 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -981,7 +981,7 @@ "$tempdir" . '/diff_sysid', '--incremental', "$backupdir" . '/backup_manifest' ], - qr/manifest system identifier is .*, but database system identifier is/, + qr/system identifier in backup manifest is .*, but database system identifier is/, "pg_basebackup fails with different database system manifest"); done_testing(); diff --git a/src/common/parse_manifest.c b/src/common/parse_manifest.c index 612e120b17aee..5a7b491e9a963 100644 --- a/src/common/parse_manifest.c +++ b/src/common/parse_manifest.c @@ -634,7 +634,7 @@ json_manifest_finalize_system_identifier(JsonManifestParseState *parse) system_identifier = strtou64(parse->manifest_system_identifier, &ep, 10); if (*ep) json_manifest_parse_failure(parse->context, - "manifest system identifier not an integer"); + "system identifier in manifest not an integer"); /* Invoke the callback for system identifier */ context->system_identifier_cb(context, system_identifier); diff --git a/src/test/recovery/t/040_standby_failover_slots_sync.pl b/src/test/recovery/t/040_standby_failover_slots_sync.pl index 2c51cfc3c864a..823857bb3295b 100644 --- a/src/test/recovery/t/040_standby_failover_slots_sync.pl +++ b/src/test/recovery/t/040_standby_failover_slots_sync.pl @@ -280,7 +280,7 @@ # Confirm that the invalidated slot has been dropped. $standby1->wait_for_log( - qr/dropped replication slot "lsub1_slot" of dbid [0-9]+/, $log_offset); + qr/dropped replication slot "lsub1_slot" of database with OID [0-9]+/, $log_offset); # Confirm that the logical slot has been re-created on the standby and is # flagged as 'synced' @@ -335,7 +335,7 @@ ($result, $stdout, $stderr) = $standby1->psql('postgres', "SELECT pg_sync_replication_slots();"); ok( $stderr =~ - /ERROR: slot synchronization requires dbname to be specified in primary_conninfo/, + /ERROR: replication slot synchronization requires "dbname" to be specified in "primary_conninfo"/, "cannot sync slots if dbname is not specified in primary_conninfo"); # Add the dbname back to the primary_conninfo for further tests @@ -526,10 +526,10 @@ # Confirm that slot sync worker acknowledge the GUC change and logs the msg # about wrong configuration. $standby1->wait_for_log( - qr/slot sync worker will restart because of a parameter change/, + qr/slot synchronization worker will restart because of a parameter change/, $log_offset); $standby1->wait_for_log( - qr/slot synchronization requires hot_standby_feedback to be enabled/, + qr/slot synchronization requires "hot_standby_feedback" to be enabled/, $log_offset); $log_offset = -s $standby1->logfile; @@ -678,7 +678,7 @@ # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # The regress_mysub1 was enabled for failover so it doesn't get the data from @@ -757,7 +757,7 @@ # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # Remove the standby from the synchronized_standby_slots list and reload the @@ -798,7 +798,7 @@ # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # The regress_mysub1 doesn't get the data from primary because the specified diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index e913f683a684e..61a19cdc4ca78 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -740,24 +740,24 @@ CONTEXT: COPY check_ign_err, line 2, column n: "a" -- want context for notices \set SHOW_CONTEXT always COPY check_ign_err FROM STDIN WITH (on_error ignore, log_verbosity verbose); -NOTICE: skipping row due to data type incompatibility at line 2 for column n: "a" +NOTICE: skipping row due to data type incompatibility at line 2 for column "n": "a" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 3 for column k: "3333333333" +NOTICE: skipping row due to data type incompatibility at line 3 for column "k": "3333333333" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 4 for column m: "{a, 4}" +NOTICE: skipping row due to data type incompatibility at line 4 for column "m": "{a, 4}" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 5 for column n: "" +NOTICE: skipping row due to data type incompatibility at line 5 for column "n": "" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 7 for column m: "a" +NOTICE: skipping row due to data type incompatibility at line 7 for column "m": "a" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 8 for column k: "a" +NOTICE: skipping row due to data type incompatibility at line 8 for column "k": "a" CONTEXT: COPY check_ign_err NOTICE: 6 rows were skipped due to data type incompatibility -- tests for on_error option with log_verbosity and null constraint via domain CREATE DOMAIN dcheck_ign_err2 varchar(15) NOT NULL; CREATE TABLE check_ign_err2 (n int, m int[], k int, l dcheck_ign_err2); COPY check_ign_err2 FROM STDIN WITH (on_error ignore, log_verbosity verbose); -NOTICE: skipping row due to data type incompatibility at line 2 for column l: null input +NOTICE: skipping row due to data type incompatibility at line 2 for column "l": null input CONTEXT: COPY check_ign_err2 NOTICE: 1 row was skipped due to data type incompatibility -- reset context choice diff --git a/src/test/regress/expected/foreign_key.out b/src/test/regress/expected/foreign_key.out index fed3d99b34f4c..8c04a24b37dff 100644 --- a/src/test/regress/expected/foreign_key.out +++ b/src/test/regress/expected/foreign_key.out @@ -1972,7 +1972,7 @@ ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 CREATE TABLE fk_partitioned_pk_6 (a int PRIMARY KEY); CREATE TABLE fk_partitioned_fk_6 (a int REFERENCES fk_partitioned_pk_6) PARTITION BY LIST (a); ALTER TABLE fk_partitioned_fk_6 ATTACH PARTITION fk_partitioned_pk_6 FOR VALUES IN (1); -ERROR: can't attach table "fk_partitioned_pk_6" as a partition which is referenced by foreign key "fk_partitioned_fk_6_a_fkey" +ERROR: cannot attach table "fk_partitioned_pk_6" as a partition because it is referenced by foreign key "fk_partitioned_fk_6_a_fkey" DROP TABLE fk_partitioned_pk_6, fk_partitioned_fk_6; -- This case is similar to above, but the referenced relation is one level -- lower in the hierarchy. This one fails in a different way as the above, diff --git a/src/test/regress/expected/jsonb_jsonpath.out b/src/test/regress/expected/jsonb_jsonpath.out index 90e705ff1496f..b5bcece94e39a 100644 --- a/src/test/regress/expected/jsonb_jsonpath.out +++ b/src/test/regress/expected/jsonb_jsonpath.out @@ -1856,7 +1856,7 @@ select jsonb_path_query('123', '$.bigint() * 2'); -- Test .boolean() select jsonb_path_query('null', '$.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('null', '$.boolean()', silent => true); jsonb_path_query ------------------ @@ -1868,9 +1868,9 @@ select jsonb_path_query('[]', '$.boolean()'); (0 rows) select jsonb_path_query('[]', 'strict $.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('{}', '$.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('[]', 'strict $.boolean()', silent => true); jsonb_path_query ------------------ @@ -2518,7 +2518,7 @@ select jsonb_path_query('12.3', '$.number() * 2'); -- Test .string() select jsonb_path_query('null', '$.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('null', '$.string()', silent => true); jsonb_path_query ------------------ @@ -2530,9 +2530,9 @@ select jsonb_path_query('[]', '$.string()'); (0 rows) select jsonb_path_query('[]', 'strict $.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('{}', '$.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('[]', 'strict $.string()', silent => true); jsonb_path_query ------------------ diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index ca8604a0538e2..721e01d6ad079 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -710,7 +710,7 @@ LINE 1: SELECT * FROM JSON_TABLE(jsonb '{"a": 123}', '$' || '.' || '... -- JsonPathQuery() error message mentioning column name SELECT * FROM JSON_TABLE('{"a": [{"b": "1"}, {"b": "2"}]}', '$' COLUMNS (b json path '$.a[*].b' ERROR ON ERROR)); ERROR: JSON path expression for column "b" should return single item without wrapper -HINT: Use WITH WRAPPER clause to wrap SQL/JSON items into array. +HINT: Use the WITH WRAPPER clause to wrap SQL/JSON items into an array. -- JSON_TABLE: nested paths -- Duplicate path names SELECT * FROM JSON_TABLE( diff --git a/src/test/regress/expected/sqljson_queryfuncs.out b/src/test/regress/expected/sqljson_queryfuncs.out index 8b64e3c06b3b7..73d7d2117ee4e 100644 --- a/src/test/regress/expected/sqljson_queryfuncs.out +++ b/src/test/regress/expected/sqljson_queryfuncs.out @@ -807,7 +807,7 @@ SELECT JSON_QUERY(jsonb '[]', '$[*]' ERROR ON ERROR); -- NULL ON EMPTY SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' ERROR ON ERROR); ERROR: JSON path expression in JSON_QUERY should return single item without wrapper -HINT: Use WITH WRAPPER clause to wrap SQL/JSON items into array. +HINT: Use the WITH WRAPPER clause to wrap SQL/JSON items into an array. SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' DEFAULT '"empty"' ON ERROR); json_query ------------ diff --git a/src/test/regress/expected/updatable_views.out b/src/test/regress/expected/updatable_views.out index 96609a38f53d4..442b55120c8a9 100644 --- a/src/test/regress/expected/updatable_views.out +++ b/src/test/regress/expected/updatable_views.out @@ -1279,7 +1279,7 @@ MERGE INTO rw_view2 t WHEN MATCHED THEN UPDATE SET b = s.b WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b); -- should fail ERROR: cannot merge into view "rw_view2" -DETAIL: MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others. +DETAIL: MERGE is not supported for views with INSTEAD OF triggers for some actions but not all. HINT: To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers. MERGE INTO rw_view2 t USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a From 6e33957a75d0c1a869519544d1becdf4577ba526 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 29 Aug 2024 13:24:17 -0400 Subject: [PATCH 16/45] Fix mis-deparsing of ORDER BY lists when there is a name conflict. If an ORDER BY item in SELECT is a bare identifier, the parser first seeks it as an output column name of the SELECT (for SQL92 compatibility). However, ruleutils.c is expecting the SQL99 interpretation where such a name is an input column name. So it's possible to produce an incorrect display of a view in the (admittedly pretty ill-advised) case where some other column is renamed in the SELECT output list to match an ORDER BY column. This can be fixed by table-qualifying such names in the dumped view text. To avoid cluttering less-ill-advised queries, we'd like to do so only when there's an actual name conflict. That requires passing the current get_query_def call's resultDesc parameter down to get_variable, so that it can determine what the output column names are. In hopes of reducing rather than increasing notational clutter in ruleutils.c, I moved that value into the deparse_context struct and removed it from the parameter lists of get_query_def's other subroutines. I made a few other cosmetic changes while at it: * Likewise move the colNamesVisible parameter into deparse_context. * Rename deparse_context's windowTList field to targetList, since it's no longer used only in connection with WINDOW clauses. * Replace the special_exprkind field with a bool inGroupBy, since that was all it was being used for, and the apparent flexibility of storing a ParseExprKind proved to be illusory. (We need a separate varInOrderBy field to make this patch work.) * Remove useless save/restore logic in get_select_query_def. In principle, this bug is quite old. However, it seems unreachable before 1b4d280ea, because before that the presence of "new" and "old" entries in a view's rangetable caused us to always table-qualify every Var reference in dumped views. Hence, back-patch to v16 where that came in. Per bug #18589 from Quynh Tran. Discussion: https://postgr.es/m/18589-70091cb81db1a3f1@postgresql.org --- src/backend/utils/adt/ruleutils.c | 250 +++++++++++++--------- src/test/regress/expected/create_view.out | 51 ++++- src/test/regress/sql/create_view.sql | 16 ++ 3 files changed, 217 insertions(+), 100 deletions(-) diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 00eda1b34c0a9..b31be31321dc3 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -50,7 +50,6 @@ #include "optimizer/optimizer.h" #include "parser/parse_agg.h" #include "parser/parse_func.h" -#include "parser/parse_node.h" #include "parser/parse_oper.h" #include "parser/parse_relation.h" #include "parser/parser.h" @@ -114,14 +113,16 @@ typedef struct { StringInfo buf; /* output buffer to append to */ List *namespaces; /* List of deparse_namespace nodes */ + TupleDesc resultDesc; /* if top level of a view, the view's tupdesc */ + List *targetList; /* Current query level's SELECT targetlist */ List *windowClause; /* Current query level's WINDOW clause */ - List *windowTList; /* targetlist for resolving WINDOW clause */ int prettyFlags; /* enabling of pretty-print functions */ int wrapColumn; /* max line length, or -1 for no limit */ int indentLevel; /* current indent level for pretty-print */ bool varprefix; /* true to print prefixes on Vars */ - ParseExprKind special_exprkind; /* set only for exprkinds needing special - * handling */ + bool colNamesVisible; /* do we care about output column names? */ + bool inGroupBy; /* deparsing GROUP BY clause? */ + bool varInOrderBy; /* deparsing simple Var in ORDER BY? */ Bitmapset *appendparents; /* if not null, map child Vars of these relids * back to the parent rel */ } deparse_context; @@ -398,27 +399,19 @@ static void get_query_def(Query *query, StringInfo buf, List *parentnamespace, int prettyFlags, int wrapColumn, int startIndent); static void get_values_def(List *values_lists, deparse_context *context); static void get_with_clause(Query *query, deparse_context *context); -static void get_select_query_def(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_insert_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_update_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_select_query_def(Query *query, deparse_context *context); +static void get_insert_query_def(Query *query, deparse_context *context); +static void get_update_query_def(Query *query, deparse_context *context); static void get_update_query_targetlist_def(Query *query, List *targetList, deparse_context *context, RangeTblEntry *rte); -static void get_delete_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_merge_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_delete_query_def(Query *query, deparse_context *context); +static void get_merge_query_def(Query *query, deparse_context *context); static void get_utility_query_def(Query *query, deparse_context *context); -static void get_basic_select_query(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_target_list(List *targetList, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); +static void get_basic_select_query(Query *query, deparse_context *context); +static void get_target_list(List *targetList, deparse_context *context); static void get_setop_query(Node *setOp, Query *query, - deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); + deparse_context *context); static Node *get_rule_sortgroupclause(Index ref, List *tlist, bool force_colno, deparse_context *context); @@ -515,7 +508,7 @@ static char *generate_qualified_relation_name(Oid relid); static char *generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, bool has_variadic, bool *use_variadic_p, - ParseExprKind special_exprkind); + bool inGroupBy); static char *generate_operator_name(Oid operid, Oid arg1, Oid arg2); static void add_cast_to(StringInfo buf, Oid typid); static char *generate_qualified_type_name(Oid typid); @@ -1094,13 +1087,16 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty) /* Set up context with one-deep namespace stack */ context.buf = &buf; context.namespaces = list_make1(&dpns); + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = true; context.prettyFlags = GET_PRETTY_FLAGS(pretty); context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = PRETTYINDENT_STD; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = true; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; get_rule_expr(qual, &context, false); @@ -1111,7 +1107,7 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty) appendStringInfo(&buf, "EXECUTE FUNCTION %s(", generate_function_name(trigrec->tgfoid, 0, NIL, NULL, - false, NULL, EXPR_KIND_NONE)); + false, NULL, false)); if (trigrec->tgnargs > 0) { @@ -2992,7 +2988,7 @@ pg_get_functiondef(PG_FUNCTION_ARGS) appendStringInfo(&buf, " SUPPORT %s", generate_function_name(proc->prosupport, 1, NIL, argtypes, - false, NULL, EXPR_KIND_NONE)); + false, NULL, false)); } if (oldlen != buf.len) @@ -3632,13 +3628,16 @@ deparse_expression_pretty(Node *expr, List *dpcontext, initStringInfo(&buf); context.buf = &buf; context.namespaces = dpcontext; + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = forceprefix; context.prettyFlags = prettyFlags; context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = startIndent; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = true; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; get_rule_expr(expr, &context, showimplicit); @@ -5283,13 +5282,16 @@ make_ruledef(StringInfo buf, HeapTuple ruletup, TupleDesc rulettc, context.buf = buf; context.namespaces = list_make1(&dpns); + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = (list_length(query->rtable) != 1); context.prettyFlags = prettyFlags; context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = PRETTYINDENT_STD; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = true; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; set_deparse_for_query(&dpns, query, NIL); @@ -5451,14 +5453,17 @@ get_query_def(Query *query, StringInfo buf, List *parentnamespace, context.buf = buf; context.namespaces = lcons(&dpns, list_copy(parentnamespace)); + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = (parentnamespace != NIL || list_length(query->rtable) != 1); context.prettyFlags = prettyFlags; context.wrapColumn = wrapColumn; context.indentLevel = startIndent; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = colNamesVisible; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; set_deparse_for_query(&dpns, query, parentnamespace); @@ -5466,23 +5471,25 @@ get_query_def(Query *query, StringInfo buf, List *parentnamespace, switch (query->commandType) { case CMD_SELECT: - get_select_query_def(query, &context, resultDesc, colNamesVisible); + /* We set context.resultDesc only if it's a SELECT */ + context.resultDesc = resultDesc; + get_select_query_def(query, &context); break; case CMD_UPDATE: - get_update_query_def(query, &context, colNamesVisible); + get_update_query_def(query, &context); break; case CMD_INSERT: - get_insert_query_def(query, &context, colNamesVisible); + get_insert_query_def(query, &context); break; case CMD_DELETE: - get_delete_query_def(query, &context, colNamesVisible); + get_delete_query_def(query, &context); break; case CMD_MERGE: - get_merge_query_def(query, &context, colNamesVisible); + get_merge_query_def(query, &context); break; case CMD_NOTHING: @@ -5687,23 +5694,18 @@ get_with_clause(Query *query, deparse_context *context) * ---------- */ static void -get_select_query_def(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_select_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; - List *save_windowclause; - List *save_windowtlist; bool force_colno; ListCell *l; /* Insert the WITH clause if given */ get_with_clause(query, context); - /* Set up context for possible window functions */ - save_windowclause = context->windowClause; + /* Subroutines may need to consult the SELECT targetlist and windowClause */ + context->targetList = query->targetList; context->windowClause = query->windowClause; - save_windowtlist = context->windowTList; - context->windowTList = query->targetList; /* * If the Query node has a setOperations tree, then it's the top level of @@ -5712,14 +5714,13 @@ get_select_query_def(Query *query, deparse_context *context, */ if (query->setOperations) { - get_setop_query(query->setOperations, query, context, resultDesc, - colNamesVisible); + get_setop_query(query->setOperations, query, context); /* ORDER BY clauses must be simple in this case */ force_colno = true; } else { - get_basic_select_query(query, context, resultDesc, colNamesVisible); + get_basic_select_query(query, context); force_colno = false; } @@ -5808,9 +5809,6 @@ get_select_query_def(Query *query, deparse_context *context, appendStringInfoString(buf, " SKIP LOCKED"); } } - - context->windowClause = save_windowclause; - context->windowTList = save_windowtlist; } /* @@ -5888,8 +5886,7 @@ get_simple_values_rte(Query *query, TupleDesc resultDesc) } static void -get_basic_select_query(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_basic_select_query(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *values_rte; @@ -5907,7 +5904,7 @@ get_basic_select_query(Query *query, deparse_context *context, * VALUES part. This reverses what transformValuesClause() did at parse * time. */ - values_rte = get_simple_values_rte(query, resultDesc); + values_rte = get_simple_values_rte(query, context->resultDesc); if (values_rte) { get_values_def(values_rte->values_lists, context); @@ -5945,7 +5942,7 @@ get_basic_select_query(Query *query, deparse_context *context, } /* Then we tell what to select (the targetlist) */ - get_target_list(query->targetList, context, resultDesc, colNamesVisible); + get_target_list(query->targetList, context); /* Add the FROM clause if needed */ get_from_clause(query, " FROM ", context); @@ -5961,15 +5958,15 @@ get_basic_select_query(Query *query, deparse_context *context, /* Add the GROUP BY clause if given */ if (query->groupClause != NULL || query->groupingSets != NULL) { - ParseExprKind save_exprkind; + bool save_ingroupby; appendContextKeyword(context, " GROUP BY ", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); if (query->groupDistinct) appendStringInfoString(buf, "DISTINCT "); - save_exprkind = context->special_exprkind; - context->special_exprkind = EXPR_KIND_GROUP_BY; + save_ingroupby = context->inGroupBy; + context->inGroupBy = true; if (query->groupingSets == NIL) { @@ -5997,7 +5994,7 @@ get_basic_select_query(Query *query, deparse_context *context, } } - context->special_exprkind = save_exprkind; + context->inGroupBy = save_ingroupby; } /* Add the HAVING clause if given */ @@ -6017,13 +6014,10 @@ get_basic_select_query(Query *query, deparse_context *context, * get_target_list - Parse back a SELECT target list * * This is also used for RETURNING lists in INSERT/UPDATE/DELETE/MERGE. - * - * resultDesc and colNamesVisible are as for get_query_def() * ---------- */ static void -get_target_list(List *targetList, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_target_list(List *targetList, deparse_context *context) { StringInfo buf = context->buf; StringInfoData targetbuf; @@ -6080,7 +6074,7 @@ get_target_list(List *targetList, deparse_context *context, * assigned column name explicitly. Otherwise, show it only if * it's not FigureColname's fallback. */ - attname = colNamesVisible ? NULL : "?column?"; + attname = context->colNamesVisible ? NULL : "?column?"; } /* @@ -6089,8 +6083,9 @@ get_target_list(List *targetList, deparse_context *context, * effects of any column RENAME that's been done on the view). * Otherwise, just use what we can find in the TLE. */ - if (resultDesc && colno <= resultDesc->natts) - colname = NameStr(TupleDescAttr(resultDesc, colno - 1)->attname); + if (context->resultDesc && colno <= context->resultDesc->natts) + colname = NameStr(TupleDescAttr(context->resultDesc, + colno - 1)->attname); else colname = tle->resname; @@ -6158,8 +6153,7 @@ get_target_list(List *targetList, deparse_context *context, } static void -get_setop_query(Node *setOp, Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_setop_query(Node *setOp, Query *query, deparse_context *context) { StringInfo buf = context->buf; bool need_paren; @@ -6184,8 +6178,8 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, subquery->limitCount); if (need_paren) appendStringInfoChar(buf, '('); - get_query_def(subquery, buf, context->namespaces, resultDesc, - colNamesVisible, + get_query_def(subquery, buf, context->namespaces, + context->resultDesc, context->colNamesVisible, context->prettyFlags, context->wrapColumn, context->indentLevel); if (need_paren) @@ -6195,6 +6189,7 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, { SetOperationStmt *op = (SetOperationStmt *) setOp; int subindent; + bool save_colnamesvisible; /* * We force parens when nesting two SetOperationStmts, except when the @@ -6228,7 +6223,7 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, else subindent = 0; - get_setop_query(op->larg, query, context, resultDesc, colNamesVisible); + get_setop_query(op->larg, query, context); if (need_paren) appendContextKeyword(context, ") ", -subindent, 0, 0); @@ -6272,7 +6267,15 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, subindent = 0; appendContextKeyword(context, "", subindent, 0, 0); - get_setop_query(op->rarg, query, context, resultDesc, false); + /* + * The output column names of the RHS sub-select don't matter. + */ + save_colnamesvisible = context->colNamesVisible; + context->colNamesVisible = false; + + get_setop_query(op->rarg, query, context); + + context->colNamesVisible = save_colnamesvisible; if (PRETTY_INDENT(context)) context->indentLevel -= subindent; @@ -6306,20 +6309,32 @@ get_rule_sortgroupclause(Index ref, List *tlist, bool force_colno, * Use column-number form if requested by caller. Otherwise, if * expression is a constant, force it to be dumped with an explicit cast * as decoration --- this is because a simple integer constant is - * ambiguous (and will be misinterpreted by findTargetlistEntry()) if we - * dump it without any decoration. If it's anything more complex than a - * simple Var, then force extra parens around it, to ensure it can't be - * misinterpreted as a cube() or rollup() construct. + * ambiguous (and will be misinterpreted by findTargetlistEntrySQL92()) if + * we dump it without any decoration. Similarly, if it's just a Var, + * there is risk of misinterpretation if the column name is reassigned in + * the SELECT list, so we may need to force table qualification. And, if + * it's anything more complex than a simple Var, then force extra parens + * around it, to ensure it can't be misinterpreted as a cube() or rollup() + * construct. */ if (force_colno) { Assert(!tle->resjunk); appendStringInfo(buf, "%d", tle->resno); } - else if (expr && IsA(expr, Const)) + else if (!expr) + /* do nothing, probably can't happen */ ; + else if (IsA(expr, Const)) get_const_expr((Const *) expr, context, 1); - else if (!expr || IsA(expr, Var)) - get_rule_expr(expr, context, true); + else if (IsA(expr, Var)) + { + /* Tell get_variable to check for name conflict */ + bool save_varinorderby = context->varInOrderBy; + + context->varInOrderBy = true; + (void) get_variable((Var *) expr, 0, false, context); + context->varInOrderBy = save_varinorderby; + } else { /* @@ -6608,8 +6623,7 @@ get_rule_windowspec(WindowClause *wc, List *targetList, * ---------- */ static void -get_insert_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_insert_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *select_rte = NULL; @@ -6815,7 +6829,7 @@ get_insert_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -6825,8 +6839,7 @@ get_insert_query_def(Query *query, deparse_context *context, * ---------- */ static void -get_update_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_update_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *rte; @@ -6872,7 +6885,7 @@ get_update_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -7034,8 +7047,7 @@ get_update_query_targetlist_def(Query *query, List *targetList, * ---------- */ static void -get_delete_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_delete_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *rte; @@ -7076,7 +7088,7 @@ get_delete_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -7086,8 +7098,7 @@ get_delete_query_def(Query *query, deparse_context *context, * ---------- */ static void -get_merge_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_merge_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *rte; @@ -7240,7 +7251,7 @@ get_merge_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -7307,6 +7318,7 @@ get_variable(Var *var, int levelsup, bool istoplevel, deparse_context *context) deparse_columns *colinfo; char *refname; char *attname; + bool need_prefix; /* Find appropriate nesting depth */ netlevelsup = var->varlevelsup + levelsup; @@ -7502,7 +7514,45 @@ get_variable(Var *var, int levelsup, bool istoplevel, deparse_context *context) attname = get_rte_attribute_name(rte, attnum); } - if (refname && (context->varprefix || attname == NULL)) + need_prefix = (context->varprefix || attname == NULL); + + /* + * If we're considering a plain Var in an ORDER BY (but not GROUP BY) + * clause, we may need to add a table-name prefix to prevent + * findTargetlistEntrySQL92 from misinterpreting the name as an + * output-column name. To avoid cluttering the output with unnecessary + * prefixes, do so only if there is a name match to a SELECT tlist item + * that is different from the Var. + */ + if (context->varInOrderBy && !context->inGroupBy && !need_prefix) + { + int colno = 0; + + foreach_node(TargetEntry, tle, context->targetList) + { + char *colname; + + if (tle->resjunk) + continue; /* ignore junk entries */ + colno++; + + /* This must match colname-choosing logic in get_target_list() */ + if (context->resultDesc && colno <= context->resultDesc->natts) + colname = NameStr(TupleDescAttr(context->resultDesc, + colno - 1)->attname); + else + colname = tle->resname; + + if (colname && strcmp(colname, attname) == 0 && + !equal(var, tle->expr)) + { + need_prefix = true; + break; + } + } + } + + if (refname && need_prefix) { appendStringInfoString(buf, quote_identifier(refname)); appendStringInfoChar(buf, '.'); @@ -10463,7 +10513,7 @@ get_func_expr(FuncExpr *expr, deparse_context *context, argnames, argtypes, expr->funcvariadic, &use_variadic, - context->special_exprkind)); + context->inGroupBy)); nargs = 0; foreach(l, expr->args) { @@ -10533,7 +10583,7 @@ get_agg_expr_helper(Aggref *aggref, deparse_context *context, funcname = generate_function_name(aggref->aggfnoid, nargs, NIL, argtypes, aggref->aggvariadic, &use_variadic, - context->special_exprkind); + context->inGroupBy); /* Print the aggregate name, schema-qualified if needed */ appendStringInfo(buf, "%s(%s", funcname, @@ -10674,7 +10724,7 @@ get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context, if (!funcname) funcname = generate_function_name(wfunc->winfnoid, nargs, argnames, argtypes, false, NULL, - context->special_exprkind); + context->inGroupBy); appendStringInfo(buf, "%s(", funcname); @@ -10713,7 +10763,7 @@ get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context, if (wc->name) appendStringInfoString(buf, quote_identifier(wc->name)); else - get_rule_windowspec(wc, context->windowTList, context); + get_rule_windowspec(wc, context->targetList, context); break; } } @@ -12420,7 +12470,7 @@ get_tablesample_def(TableSampleClause *tablesample, deparse_context *context) appendStringInfo(buf, " TABLESAMPLE %s (", generate_function_name(tablesample->tsmhandler, 1, NIL, argtypes, - false, NULL, EXPR_KIND_NONE)); + false, NULL, false)); nargs = 0; foreach(l, tablesample->args) @@ -12840,12 +12890,14 @@ generate_qualified_relation_name(Oid relid) * the output. For non-FuncExpr cases, has_variadic should be false and * use_variadic_p can be NULL. * + * inGroupBy must be true if we're deparsing a GROUP BY clause. + * * The result includes all necessary quoting and schema-prefixing. */ static char * generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, bool has_variadic, bool *use_variadic_p, - ParseExprKind special_exprkind) + bool inGroupBy) { char *result; HeapTuple proctup; @@ -12870,9 +12922,9 @@ generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, /* * Due to parser hacks to avoid needing to reserve CUBE, we need to force - * qualification in some special cases. + * qualification of some function names within GROUP BY. */ - if (special_exprkind == EXPR_KIND_GROUP_BY) + if (inGroupBy) { if (strcmp(proname, "cube") == 0 || strcmp(proname, "rollup") == 0) force_qualify = true; diff --git a/src/test/regress/expected/create_view.out b/src/test/regress/expected/create_view.out index f3f8c7b5a2fa0..f551624afb3a3 100644 --- a/src/test/regress/expected/create_view.out +++ b/src/test/regress/expected/create_view.out @@ -824,6 +824,54 @@ View definition: FROM temp_view_test.tx1 tx1_1 WHERE tx1.y1 = tx1_1.f1)); +-- Test correct deparsing of ORDER BY when there is an output name conflict +create view aliased_order_by as +select x1 as x2, x2 as x1, x3 from tt1 + order by x2; -- this is interpreted per SQL92, so really ordering by x1 +\d+ aliased_order_by + View "testviewschm2.aliased_order_by" + Column | Type | Collation | Nullable | Default | Storage | Description +--------+---------+-----------+----------+---------+----------+------------- + x2 | integer | | | | plain | + x1 | integer | | | | plain | + x3 | text | | | | extended | +View definition: + SELECT x1 AS x2, + x2 AS x1, + x3 + FROM tt1 + ORDER BY tt1.x1; + +alter view aliased_order_by rename column x1 to x0; +\d+ aliased_order_by + View "testviewschm2.aliased_order_by" + Column | Type | Collation | Nullable | Default | Storage | Description +--------+---------+-----------+----------+---------+----------+------------- + x2 | integer | | | | plain | + x0 | integer | | | | plain | + x3 | text | | | | extended | +View definition: + SELECT x1 AS x2, + x2 AS x0, + x3 + FROM tt1 + ORDER BY x1; + +alter view aliased_order_by rename column x3 to x1; +\d+ aliased_order_by + View "testviewschm2.aliased_order_by" + Column | Type | Collation | Nullable | Default | Storage | Description +--------+---------+-----------+----------+---------+----------+------------- + x2 | integer | | | | plain | + x0 | integer | | | | plain | + x1 | text | | | | extended | +View definition: + SELECT x1 AS x2, + x2 AS x0, + x3 AS x1 + FROM tt1 + ORDER BY tt1.x1; + -- Test aliasing of joins create view view_of_joins as select * from @@ -2248,7 +2296,7 @@ drop cascades to view aliased_view_2 drop cascades to view aliased_view_3 drop cascades to view aliased_view_4 DROP SCHEMA testviewschm2 CASCADE; -NOTICE: drop cascades to 79 other objects +NOTICE: drop cascades to 80 other objects DETAIL: drop cascades to table t1 drop cascades to view temporal1 drop cascades to view temporal2 @@ -2275,6 +2323,7 @@ drop cascades to view mysecview9 drop cascades to view unspecified_types drop cascades to table tt1 drop cascades to table tx1 +drop cascades to view aliased_order_by drop cascades to view view_of_joins drop cascades to table tbl1a drop cascades to view view_of_joins_2a diff --git a/src/test/regress/sql/create_view.sql b/src/test/regress/sql/create_view.sql index 3a78be1b0c7c4..ae6841308b9b6 100644 --- a/src/test/regress/sql/create_view.sql +++ b/src/test/regress/sql/create_view.sql @@ -373,6 +373,22 @@ ALTER TABLE tmp1 RENAME TO tx1; \d+ aliased_view_3 \d+ aliased_view_4 +-- Test correct deparsing of ORDER BY when there is an output name conflict + +create view aliased_order_by as +select x1 as x2, x2 as x1, x3 from tt1 + order by x2; -- this is interpreted per SQL92, so really ordering by x1 + +\d+ aliased_order_by + +alter view aliased_order_by rename column x1 to x0; + +\d+ aliased_order_by + +alter view aliased_order_by rename column x3 to x1; + +\d+ aliased_order_by + -- Test aliasing of joins create view view_of_joins as From 59957955ca2a456f3b872ec7c2630df6faa3b270 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 30 Aug 2024 08:34:39 +0200 Subject: [PATCH 17/45] Correct name in list of acknowledgments Reported-by: Etsuro Fujita --- doc/src/sgml/release-17.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index cd7b3dab1b2dc..da0162c8d5112 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -3447,6 +3447,7 @@ Author: Alexander Korotkov Kohei KaiGai Kong Man Konstantin Knizhnik + Kouhei Sutou Krishnakumar R Kurt Roeckx Kyotaro Horiguchi @@ -3593,7 +3594,6 @@ Author: Alexander Korotkov Steve Chavez Suraj Khamkar Suraj Kharage - Sutou Kouhei Svante Richter Svetlana Derevyanko Sylvain Frandaz From 8427215e4eacd5b70fb2dd0702787962342a752b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 30 Aug 2024 08:38:16 +0200 Subject: [PATCH 18/45] Remove duplicate name from list of acknowledgments Reported-by: m.zhilin@postgrespro.ru --- doc/src/sgml/release-17.sgml | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index da0162c8d5112..87cc347a7eb20 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -3498,7 +3498,6 @@ Author: Alexander Korotkov Michal Bartak Michal Kleczek Mikhail Gribkov - Mikhail Zhilin Mingli Zhang Miroslav Bendik Mitsuru Hinata From 4913ff091d2790b5677b96e2f0fc43fe28b3e864 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 30 Aug 2024 10:03:48 +0200 Subject: [PATCH 19/45] Update list of acknowledgments in release notes current through df80b1d6cd --- doc/src/sgml/release-17.sgml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index 87cc347a7eb20..f93ea04cf271a 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -3266,6 +3266,7 @@ Author: Alexander Korotkov Ashutosh Sharma Atsushi Torikoshi Attila Gulyás + Ayush Tiwari Ayush Vatsa Bartosz Chrol Benoît Ryder @@ -3277,6 +3278,7 @@ Author: Alexander Korotkov Bowen Shi Boyu Yang Bruce Momjian + Cameron Vogt Cary Huang Cédric Villemain Changhong Fei @@ -3354,6 +3356,7 @@ Author: Alexander Korotkov Fabrízio de Royes Mello Farias de Oliveira Feliphe Pozzer + Fire Emerald Flavien Guedez Floris Van Nee Frank Streitzig @@ -3380,8 +3383,10 @@ Author: Alexander Korotkov Heikki Linnakangas Hemanth Sandrana Himanshu Upadhyaya + Hironobu Suzuki Holger Reise Hongxu Ma + Hongyu Song Horst Reiterer Hubert Lubaczewski Hywel Carver @@ -3443,12 +3448,14 @@ Author: Alexander Korotkov Kirill Reshke Kirk Parker Kirk Wolak + Kisoon Kwon Koen De Groote Kohei KaiGai Kong Man Konstantin Knizhnik Kouhei Sutou Krishnakumar R + Kuntal Ghosh Kurt Roeckx Kyotaro Horiguchi Lang Liu @@ -3518,6 +3525,7 @@ Author: Alexander Korotkov Nitin Jadhav Noah Misch Noriyoshi Shinoda + Ole Peder Brandtzæg Oleg Bartunov Oleg Sibiryakov Oleg Tselebrovskiy @@ -3544,6 +3552,7 @@ Author: Alexander Korotkov Pierre Ducroquet Pierre Fortin Przemyslaw Sztoch + Quynh Tran Raghuveer Devulapalli Ranier Vilela Reid Thompson @@ -3561,6 +3570,7 @@ Author: Alexander Korotkov Rui Zhao Ryo Matsumura Ryoga Yoshida + Sameer Kumar Sami Imseih Samuel Dussault Sanjay Minni @@ -3569,6 +3579,7 @@ Author: Alexander Korotkov Sergei Glukhov Sergei Kornilov Sergey Prokhorenko + Sergey Sargsyan Sergey Shinderuk Shaozhong Shi Shaun Thomas @@ -3618,6 +3629,7 @@ Author: Alexander Korotkov Uwe Binder Valerie Woolard Vallimaharajan G + Vasya Boytsov Victor Wagner Victor Yegorov Victoria Shepard From e6fcd43376e3fe5b0de08cf10a00f903841e43a7 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 30 Aug 2024 12:42:13 -0400 Subject: [PATCH 20/45] Avoid inserting PlaceHolderVars in cases where pre-v16 PG did not. Commit 2489d76c4 removed some logic from pullup_replace_vars() that avoided wrapping a PlaceHolderVar around a pulled-up subquery output expression if the expression could be proven to go to NULL anyway (because it contained Vars or PHVs of the pulled-up relation and did not contain non-strict constructs). But removing that logic turns out to cause performance regressions in some cases, because the extra PHV blocks subexpression folding, and will do so even if outer-join reduction later turns it into a no-op with no phnullingrels bits. This can for example prevent an expression from being matched to an index. The reason for always adding a PHV was to ensure we had someplace to put the varnullingrels marker bits of the Var being replaced. However, it turns out we can optimize in exactly the same cases that the previous code did, because we can instead attach the needed varnullingrels bits to the contained Var(s)/PHV(s). This is not a complete solution --- it would be even better if we could remove PHVs after reducing them to no-ops. It doesn't look practical to back-patch such an improvement, but this change seems safe and at least gets rid of the performance-regression cases. Per complaint from Nikhil Raj. Back-patch to v16 where the problem appeared. Discussion: https://postgr.es/m/CAG1ps1xvnTZceKK24OUfMKLPvDP2vjT-d+F2AOCWbw_v3KeEgg@mail.gmail.com --- src/backend/optimizer/prep/prepjointree.c | 66 ++++++++++++++++++----- src/backend/rewrite/rewriteManip.c | 9 ++-- src/test/regress/expected/subselect.out | 29 ++++++++++ src/test/regress/sql/subselect.sql | 18 +++++++ 4 files changed, 107 insertions(+), 15 deletions(-) diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index 5482ab85a76ed..4195a0a84fec5 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -2490,14 +2490,48 @@ pullup_replace_vars_callback(Var *var, else wrap = false; } + else if (rcon->wrap_non_vars) + { + /* Caller told us to wrap all non-Vars in a PlaceHolderVar */ + wrap = true; + } else { /* - * Must wrap, either because we need a place to insert - * varnullingrels or because caller told us to wrap - * everything. + * If the node contains Var(s) or PlaceHolderVar(s) of the + * subquery being pulled up, and does not contain any + * non-strict constructs, then instead of adding a PHV on top + * we can add the required nullingrels to those Vars/PHVs. + * (This is fundamentally a generalization of the above cases + * for bare Vars and PHVs.) + * + * This test is somewhat expensive, but it avoids pessimizing + * the plan in cases where the nullingrels get removed again + * later by outer join reduction. + * + * This analysis could be tighter: in particular, a non-strict + * construct hidden within a lower-level PlaceHolderVar is not + * reason to add another PHV. But for now it doesn't seem + * worth the code to be more exact. + * + * For a LATERAL subquery, we have to check the actual var + * membership of the node, but if it's non-lateral then any + * level-zero var must belong to the subquery. */ - wrap = true; + if ((rcon->target_rte->lateral ? + bms_overlap(pull_varnos(rcon->root, newnode), + rcon->relids) : + contain_vars_of_level(newnode, 0)) && + !contain_nonstrict_functions(newnode)) + { + /* No wrap needed */ + wrap = false; + } + else + { + /* Else wrap it in a PlaceHolderVar */ + wrap = true; + } } if (wrap) @@ -2518,18 +2552,14 @@ pullup_replace_vars_callback(Var *var, } } - /* Must adjust varlevelsup if replaced Var is within a subquery */ - if (var->varlevelsup > 0) - IncrementVarSublevelsUp(newnode, var->varlevelsup, 0); - - /* Propagate any varnullingrels into the replacement Var or PHV */ + /* Propagate any varnullingrels into the replacement expression */ if (var->varnullingrels != NULL) { if (IsA(newnode, Var)) { Var *newvar = (Var *) newnode; - Assert(newvar->varlevelsup == var->varlevelsup); + Assert(newvar->varlevelsup == 0); newvar->varnullingrels = bms_add_members(newvar->varnullingrels, var->varnullingrels); } @@ -2537,14 +2567,26 @@ pullup_replace_vars_callback(Var *var, { PlaceHolderVar *newphv = (PlaceHolderVar *) newnode; - Assert(newphv->phlevelsup == var->varlevelsup); + Assert(newphv->phlevelsup == 0); newphv->phnullingrels = bms_add_members(newphv->phnullingrels, var->varnullingrels); } else - elog(ERROR, "failed to wrap a non-Var"); + { + /* There should be lower-level Vars/PHVs we can modify */ + newnode = add_nulling_relids(newnode, + NULL, /* modify all Vars/PHVs */ + var->varnullingrels); + /* Assert we did put the varnullingrels into the expression */ + Assert(bms_is_subset(var->varnullingrels, + pull_varnos(rcon->root, newnode))); + } } + /* Must adjust varlevelsup if replaced Var is within a subquery */ + if (var->varlevelsup > 0) + IncrementVarSublevelsUp(newnode, var->varlevelsup, 0); + return newnode; } diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c index 191f2dc0b1d8d..b20625fbd2b35 100644 --- a/src/backend/rewrite/rewriteManip.c +++ b/src/backend/rewrite/rewriteManip.c @@ -1141,7 +1141,8 @@ AddInvertedQual(Query *parsetree, Node *qual) /* * add_nulling_relids() finds Vars and PlaceHolderVars that belong to any * of the target_relids, and adds added_relids to their varnullingrels - * and phnullingrels fields. + * and phnullingrels fields. If target_relids is NULL, all level-zero + * Vars and PHVs are modified. */ Node * add_nulling_relids(Node *node, @@ -1170,7 +1171,8 @@ add_nulling_relids_mutator(Node *node, Var *var = (Var *) node; if (var->varlevelsup == context->sublevels_up && - bms_is_member(var->varno, context->target_relids)) + (context->target_relids == NULL || + bms_is_member(var->varno, context->target_relids))) { Relids newnullingrels = bms_union(var->varnullingrels, context->added_relids); @@ -1188,7 +1190,8 @@ add_nulling_relids_mutator(Node *node, PlaceHolderVar *phv = (PlaceHolderVar *) node; if (phv->phlevelsup == context->sublevels_up && - bms_overlap(phv->phrels, context->target_relids)) + (context->target_relids == NULL || + bms_overlap(phv->phrels, context->target_relids))) { Relids newnullingrels = bms_union(phv->phnullingrels, context->added_relids); diff --git a/src/test/regress/expected/subselect.out b/src/test/regress/expected/subselect.out index 9eecdc1e92426..2d35de3fad638 100644 --- a/src/test/regress/expected/subselect.out +++ b/src/test/regress/expected/subselect.out @@ -1721,6 +1721,35 @@ fetch backward all in c1; (2 rows) commit; +-- +-- Verify that we correctly flatten cases involving a subquery output +-- expression that doesn't need to be wrapped in a PlaceHolderVar +-- +explain (costs off) +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + QUERY PLAN +-------------------------------------------------------------------------- + Nested Loop + -> Index Scan using pg_class_relname_nsp_index on pg_class c + Index Cond: (relname = 'tenk1'::name) + -> Index Scan using pg_attribute_relid_attnum_index on pg_attribute a + Index Cond: ((attrelid = c.oid) AND (attnum = 1)) +(5 rows) + +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + tname | attname +-------+--------- + tenk1 | unique1 +(1 row) + -- -- Tests for CTE inlining behavior -- diff --git a/src/test/regress/sql/subselect.sql b/src/test/regress/sql/subselect.sql index 75a9b718b2f29..af6e157aca0db 100644 --- a/src/test/regress/sql/subselect.sql +++ b/src/test/regress/sql/subselect.sql @@ -890,6 +890,24 @@ fetch backward all in c1; commit; +-- +-- Verify that we correctly flatten cases involving a subquery output +-- expression that doesn't need to be wrapped in a PlaceHolderVar +-- + +explain (costs off) +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + -- -- Tests for CTE inlining behavior -- From c931963bae4a57809364cf2d4301a932142e4f6c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 30 Aug 2024 16:47:39 -0400 Subject: [PATCH 21/45] Make postgres_fdw's query_cancel test less flaky. This test occasionally shows +WARNING: could not get result of cancel request due to timeout which appears to be because the cancel request is sometimes unluckily sent to the remote session between queries, and then it's ignored. This patch tries to make that less probable in three ways: 1. Use a test query that does not involve remote estimates, so that no EXPLAINs are sent. 2. Make sure that the remote session is ready-to-go (transaction started, SET commands sent) before we start the timer. 3. Increase the statement_timeout to 100ms, to give the local session enough time to plan and issue the query. We might have to go higher than 100ms to make this adequately stable in the buildfarm, but let's see how it goes. Back-patch to v17 where this test was introduced. Jelte Fennema-Nio and Tom Lane Discussion: https://postgr.es/m/578934.1725045685@sss.pgh.pa.us --- .../postgres_fdw/expected/query_cancel.out | 26 ++++++++++++++----- contrib/postgres_fdw/sql/query_cancel.sql | 18 +++++++++---- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/contrib/postgres_fdw/expected/query_cancel.out b/contrib/postgres_fdw/expected/query_cancel.out index afef67aa8deee..b091656cf3515 100644 --- a/contrib/postgres_fdw/expected/query_cancel.out +++ b/contrib/postgres_fdw/expected/query_cancel.out @@ -2,19 +2,31 @@ SELECT version() ~ 'cygwin' AS skip_test \gset \if :skip_test \quit \endif --- Make sure this big CROSS JOIN query is pushed down -EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; +-- Let's test canceling a remote query. Use a table that does not have +-- remote_estimate enabled, else there will be multiple queries to the +-- remote and we might unluckily send the cancel in between two of them. +-- First let's confirm that the query is actually pushed down. +EXPLAIN (VERBOSE, COSTS OFF) +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan Output: (count(*)) - Relations: Aggregate on ((((public.ft1) INNER JOIN (public.ft2)) INNER JOIN (public.ft4)) INNER JOIN (public.ft5)) - Remote SQL: SELECT count(*) FROM ((("S 1"."T 1" r1 INNER JOIN "S 1"."T 1" r2 ON (TRUE)) INNER JOIN "S 1"."T 3" r4 ON (TRUE)) INNER JOIN "S 1"."T 4" r6 ON (TRUE)) + Relations: Aggregate on ((((public.ft1 a) INNER JOIN (public.ft1 b)) INNER JOIN (public.ft1 c)) INNER JOIN (public.ft1 d)) + Remote SQL: SELECT count(*) FROM ((("S 1"."T 1" r1 INNER JOIN "S 1"."T 1" r2 ON (TRUE)) INNER JOIN "S 1"."T 1" r4 ON (TRUE)) INNER JOIN "S 1"."T 1" r6 ON (TRUE)) (4 rows) --- Make sure query cancellation works BEGIN; -SET LOCAL statement_timeout = '10ms'; -select count(*) from ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; -- this takes very long +-- Make sure that connection is open and set up. +SELECT count(*) FROM ft1 a; + count +------- + 822 +(1 row) + +-- Timeout needs to be long enough to be sure that we've sent the slow query. +SET LOCAL statement_timeout = '100ms'; +-- This would take very long if not canceled: +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; ERROR: canceling statement due to statement timeout COMMIT; diff --git a/contrib/postgres_fdw/sql/query_cancel.sql b/contrib/postgres_fdw/sql/query_cancel.sql index 8f11f3f9a6a2c..270e129d77eff 100644 --- a/contrib/postgres_fdw/sql/query_cancel.sql +++ b/contrib/postgres_fdw/sql/query_cancel.sql @@ -3,10 +3,18 @@ SELECT version() ~ 'cygwin' AS skip_test \gset \quit \endif --- Make sure this big CROSS JOIN query is pushed down -EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; --- Make sure query cancellation works +-- Let's test canceling a remote query. Use a table that does not have +-- remote_estimate enabled, else there will be multiple queries to the +-- remote and we might unluckily send the cancel in between two of them. +-- First let's confirm that the query is actually pushed down. +EXPLAIN (VERBOSE, COSTS OFF) +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; + BEGIN; -SET LOCAL statement_timeout = '10ms'; -select count(*) from ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; -- this takes very long +-- Make sure that connection is open and set up. +SELECT count(*) FROM ft1 a; +-- Timeout needs to be long enough to be sure that we've sent the slow query. +SET LOCAL statement_timeout = '100ms'; +-- This would take very long if not canceled: +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; COMMIT; From 9d64385990427a7453920d09cb2893e131819973 Mon Sep 17 00:00:00 2001 From: Masahiko Sawada Date: Fri, 30 Aug 2024 15:06:07 -0700 Subject: [PATCH 22/45] Clarify restrict_nonsystem_relation_kind description. This change improves the description of the restrict_nonsystem_relation_kind parameter in guc_table.c and the documentation for better clarity. Backpatch to 12, where this GUC parameter was introduced. Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/6a96f1af-22b4-4a80-8161-1f26606b9ee2%40eisentraut.org Backpatch-through: 12 --- doc/src/sgml/config.sgml | 6 +++--- src/backend/utils/misc/guc_tables.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index d778d28e6f637..7c60aeab4f64f 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -9822,9 +9822,9 @@ SET XML OPTION { DOCUMENT | CONTENT }; - This variable specifies relation kind to which access is restricted. - It contains a comma-separated list of relation kind. Currently, the - supported relation kinds are view and + Set relation kinds for which access to non-system relations is prohibited. + The value takes the form of a comma-separated list of relation kinds. + Currently, the supported relation kinds are view and foreign-table. diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index a165bf5c36e8a..dc222d98add0a 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -4713,7 +4713,7 @@ struct config_string ConfigureNamesString[] = { {"restrict_nonsystem_relation_kind", PGC_USERSET, CLIENT_CONN_STATEMENT, - gettext_noop("Sets relation kinds of non-system relation to restrict use"), + gettext_noop("Prohibits access to non-system relations of specified kinds."), NULL, GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE }, From 891cda5ca6659ac215686cfe112843d8759324ba Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 31 Aug 2024 14:32:08 +1200 Subject: [PATCH 23/45] Stabilize 039_end_of_wal test. The first test was sensitive to the insert LSN after setting up the catalogs, which depended on environmental things like the locales on the OS and usernames. Switch to a new WAL file before the first test, as a simple way to put every computer into the same state. Back-patch to all supported releases. Reported-by: Anton Voloshin Reported-by: Nathan Bossart Reviewed-by: Tom Lane Reviewed-by: Nathan Bossart Discussion: https://postgr.es/m/b26aeac2-cb6d-4633-a7ea-945baae83dcf%40postgrespro.ru --- src/test/recovery/t/039_end_of_wal.pl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl index f9acc83c7d092..349bd44b7266d 100644 --- a/src/test/recovery/t/039_end_of_wal.pl +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -251,6 +251,12 @@ sub advance_to_record_splitting_zone $TLI = $node->safe_psql('postgres', "SELECT timeline_id FROM pg_control_checkpoint();"); +# Initial LSN may vary across systems due to different catalog contents set up +# by initdb. Switch to a new WAL file so all systems start out in the same +# place. The first test depends on trailing zeroes on a page with a valid +# header. +$node->safe_psql('postgres', "SELECT pg_switch_wal();"); + my $end_lsn; my $prev_lsn; From 3763748d148bc5af614f1dc5dc53a2723e2d8ca3 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 31 Aug 2024 17:27:38 +1200 Subject: [PATCH 24/45] Fix unfairness in all-cached parallel seq scan. Commit b5a9b18c introduced block streaming infrastructure with a special fast path for all-cached scans, and commit b7b0f3f2 connected the infrastructure up to sequential scans. One of the fast path micro-optimizations had an unintended consequence: it interfered with parallel sequential scan's block range allocator (from commit 56788d21), which has its own ramp-up and ramp-down algorithm when handing out groups of pages to workers. A scan of an all-cached table could give extra blocks to one worker, when others had finished. In some plans (probably already very bad plans, such as the one reported by Alexander), the unfairness could be magnified. An internal buffer of 16 block numbers is removed, keeping just a single block buffer for technical reasons. Back-patch to 17. Reported-by: Alexander Lakhin Discussion: https://postgr.es/m/63a63690-dd92-c809-0b47-af05459e95d1%40gmail.com --- src/backend/storage/aio/read_stream.c | 81 ++++++++------------------- 1 file changed, 23 insertions(+), 58 deletions(-) diff --git a/src/backend/storage/aio/read_stream.c b/src/backend/storage/aio/read_stream.c index 74b9bae631391..a6c50b2ae2425 100644 --- a/src/backend/storage/aio/read_stream.c +++ b/src/backend/storage/aio/read_stream.c @@ -117,13 +117,10 @@ struct ReadStream bool advice_enabled; /* - * Small buffer of block numbers, useful for 'ungetting' to resolve flow - * control problems when I/Os are split. Also useful for batch-loading - * block numbers in the fast path. + * One-block buffer to support 'ungetting' a block number, to resolve flow + * control problems when I/Os are split. */ - BlockNumber blocknums[16]; - int16 blocknums_count; - int16 blocknums_next; + BlockNumber buffered_blocknum; /* * The callback that will tell us which block numbers to read, and an @@ -167,23 +164,23 @@ get_per_buffer_data(ReadStream *stream, int16 buffer_index) } /* - * Ask the callback which block it would like us to read next, with a small - * buffer in front to allow read_stream_unget_block() to work and to allow the - * fast path to skip this function and work directly from the array. + * Ask the callback which block it would like us to read next, with a one block + * buffer in front to allow read_stream_unget_block() to work. */ static inline BlockNumber read_stream_get_block(ReadStream *stream, void *per_buffer_data) { - if (stream->blocknums_next < stream->blocknums_count) - return stream->blocknums[stream->blocknums_next++]; + BlockNumber blocknum; - /* - * We only bother to fetch one at a time here (but see the fast path which - * uses more). - */ - return stream->callback(stream, - stream->callback_private_data, - per_buffer_data); + blocknum = stream->buffered_blocknum; + if (blocknum != InvalidBlockNumber) + stream->buffered_blocknum = InvalidBlockNumber; + else + blocknum = stream->callback(stream, + stream->callback_private_data, + per_buffer_data); + + return blocknum; } /* @@ -193,42 +190,12 @@ read_stream_get_block(ReadStream *stream, void *per_buffer_data) static inline void read_stream_unget_block(ReadStream *stream, BlockNumber blocknum) { - if (stream->blocknums_next == stream->blocknums_count) - { - /* Never initialized or entirely consumed. Re-initialize. */ - stream->blocknums[0] = blocknum; - stream->blocknums_count = 1; - stream->blocknums_next = 0; - } - else - { - /* Must be the last value return from blocknums array. */ - Assert(stream->blocknums_next > 0); - stream->blocknums_next--; - Assert(stream->blocknums[stream->blocknums_next] == blocknum); - } + /* We shouldn't ever unget more than one block. */ + Assert(stream->buffered_blocknum == InvalidBlockNumber); + Assert(blocknum != InvalidBlockNumber); + stream->buffered_blocknum = blocknum; } -#ifndef READ_STREAM_DISABLE_FAST_PATH -static void -read_stream_fill_blocknums(ReadStream *stream) -{ - BlockNumber blocknum; - int i = 0; - - do - { - blocknum = stream->callback(stream, - stream->callback_private_data, - NULL); - stream->blocknums[i++] = blocknum; - } while (i < lengthof(stream->blocknums) && - blocknum != InvalidBlockNumber); - stream->blocknums_count = i; - stream->blocknums_next = 0; -} -#endif - static void read_stream_start_pending_read(ReadStream *stream, bool suppress_advice) { @@ -531,6 +498,7 @@ read_stream_begin_relation(int flags, stream->queue_size = queue_size; stream->callback = callback; stream->callback_private_data = callback_private_data; + stream->buffered_blocknum = InvalidBlockNumber; /* * Skip the initial ramp-up phase if the caller says we're going to be @@ -601,9 +569,7 @@ read_stream_next_buffer(ReadStream *stream, void **per_buffer_data) Assert(buffer != InvalidBuffer); /* Choose the next block to pin. */ - if (unlikely(stream->blocknums_next == stream->blocknums_count)) - read_stream_fill_blocknums(stream); - next_blocknum = stream->blocknums[stream->blocknums_next++]; + next_blocknum = read_stream_get_block(stream, NULL); if (likely(next_blocknum != InvalidBlockNumber)) { @@ -779,9 +745,8 @@ read_stream_reset(ReadStream *stream) /* Stop looking ahead. */ stream->distance = 0; - /* Forget buffered block numbers and fast path state. */ - stream->blocknums_next = 0; - stream->blocknums_count = 0; + /* Forget buffered block number and fast path state. */ + stream->buffered_blocknum = InvalidBlockNumber; stream->fast_path = false; /* Unpin anything that wasn't consumed. */ From 92b91cd05ce81f05ad1f140a704ddff3e1158e32 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 2 Sep 2024 12:02:42 +0200 Subject: [PATCH 25/45] Translation updates Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: d0110df9f34c2d32cb2652d4477c3135dabe84f7 --- src/backend/po/de.po | 4147 +++++++++++++-------------- src/backend/po/sv.po | 4086 +++++++++++++------------- src/bin/pg_amcheck/po/de.po | 8 +- src/bin/pg_amcheck/po/fr.po | 8 +- src/bin/pg_amcheck/po/ka.po | 8 +- src/bin/pg_amcheck/po/sv.po | 8 +- src/bin/pg_basebackup/po/de.po | 96 +- src/bin/pg_basebackup/po/fr.po | 1423 +++++++-- src/bin/pg_basebackup/po/ka.po | 418 +-- src/bin/pg_basebackup/po/sv.po | 124 +- src/bin/pg_combinebackup/po/LINGUAS | 2 +- src/bin/pg_combinebackup/po/de.po | 31 +- src/bin/pg_combinebackup/po/fr.po | 899 ++++++ src/bin/pg_combinebackup/po/ka.po | 33 +- src/bin/pg_combinebackup/po/sv.po | 39 +- src/bin/pg_ctl/po/fr.po | 393 +-- src/bin/pg_dump/po/de.po | 412 +-- src/bin/pg_dump/po/es.po | 132 +- src/bin/pg_dump/po/fr.po | 1199 ++++---- src/bin/pg_dump/po/ka.po | 408 +-- src/bin/pg_dump/po/sv.po | 410 +-- src/bin/pg_resetwal/po/fr.po | 529 ++-- src/bin/pg_rewind/po/de.po | 32 +- src/bin/pg_rewind/po/fr.po | 502 ++-- src/bin/pg_rewind/po/ka.po | 32 +- src/bin/pg_rewind/po/sv.po | 34 +- src/bin/pg_test_fsync/po/fr.po | 105 +- src/bin/pg_test_timing/po/fr.po | 13 +- src/bin/pg_upgrade/po/de.po | 166 +- src/bin/pg_upgrade/po/fr.po | 1185 +++++--- src/bin/pg_upgrade/po/ka.po | 168 +- src/bin/pg_upgrade/po/sv.po | 170 +- src/bin/pg_verifybackup/po/de.po | 6 +- src/bin/pg_verifybackup/po/fr.po | 395 ++- src/bin/pg_verifybackup/po/ka.po | 8 +- src/bin/pg_verifybackup/po/sv.po | 8 +- src/bin/pg_waldump/po/fr.po | 303 +- src/bin/pg_walsummary/po/LINGUAS | 2 +- src/bin/pg_walsummary/po/fr.po | 185 ++ src/bin/psql/po/fr.po | 3437 +++++++++++----------- src/bin/scripts/po/fr.po | 463 +-- src/bin/scripts/po/ka.po | 10 +- src/pl/plperl/po/fr.po | 108 +- src/pl/plpgsql/src/po/fr.po | 362 +-- src/pl/tcl/po/fr.po | 57 +- 45 files changed, 12514 insertions(+), 10050 deletions(-) create mode 100644 src/bin/pg_combinebackup/po/fr.po create mode 100644 src/bin/pg_walsummary/po/fr.po diff --git a/src/backend/po/de.po b/src/backend/po/de.po index 9a07173db2a68..31e3ebbb45f32 100644 --- a/src/backend/po/de.po +++ b/src/backend/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-02 09:11+0000\n" -"PO-Revision-Date: 2024-08-02 11:26+0200\n" +"POT-Creation-Date: 2024-09-01 19:41+0000\n" +"PO-Revision-Date: 2024-09-02 09:38+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -18,10 +18,9 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../common/binaryheap.c:121 ../common/binaryheap.c:159 -#, fuzzy, c-format -#| msgid "out of background worker slots" +#, c-format msgid "out of binary heap slots" -msgstr "alle Slots für Background-Worker belegt" +msgstr "alle Slots für Binary-Heaps belegt" #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 @@ -81,7 +80,7 @@ msgid "not recorded" msgstr "nicht aufgezeichnet" #: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 -#: commands/copyfrom.c:1737 commands/extension.c:3538 utils/adt/genfile.c:123 +#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123 #: utils/time/snapmgr.c:1430 #, c-format msgid "could not open file \"%s\" for reading: %m" @@ -95,7 +94,7 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" #: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 -#: replication/logical/reorderbuffer.c:5084 +#: replication/logical/reorderbuffer.c:5108 #: replication/logical/snapbuild.c:2052 replication/slot.c:2236 #: replication/slot.c:2277 replication/walsender.c:655 #: storage/file/buffile.c:470 storage/file/copydir.c:185 @@ -122,10 +121,10 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen" #: access/transam/twophase.c:1793 access/transam/xlog.c:3322 #: access/transam/xlog.c:3516 access/transam/xlog.c:3521 #: access/transam/xlog.c:3657 access/transam/xlog.c:4310 -#: access/transam/xlog.c:5245 commands/copyfrom.c:1797 commands/copyto.c:325 +#: access/transam/xlog.c:5245 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 -#: replication/logical/reorderbuffer.c:5136 +#: replication/logical/reorderbuffer.c:5160 #: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943 #: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670 #: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 @@ -165,17 +164,17 @@ msgstr "" #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3737 -#: replication/logical/reorderbuffer.c:4291 -#: replication/logical/reorderbuffer.c:5064 +#: replication/logical/reorderbuffer.c:3761 +#: replication/logical/reorderbuffer.c:4315 +#: replication/logical/reorderbuffer.c:5088 #: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884 #: replication/slot.c:2208 replication/walsender.c:628 #: replication/walsender.c:3051 storage/file/copydir.c:151 #: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 #: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818 -#: utils/cache/relmapper.c:935 utils/error/elog.c:2107 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 -#: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786 #, c-format msgid "could not open file \"%s\": %m" msgstr "konnte Datei »%s« nicht öffnen: %m" @@ -202,7 +201,7 @@ msgstr "konnte Datei »%s« nicht schreiben: %m" #: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812 #: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820 #: storage/file/fd.c:3851 storage/smgr/md.c:1329 storage/smgr/md.c:1374 -#: storage/sync/sync.c:446 utils/misc/guc.c:4480 +#: storage/sync/sync.c:446 utils/misc/guc.c:4489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "konnte Datei »%s« nicht fsyncen: %m" @@ -219,7 +218,7 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m" #: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524 #: postmaster/bgworker.c:355 postmaster/bgworker.c:945 #: postmaster/postmaster.c:3559 postmaster/postmaster.c:4019 -#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:933 +#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:935 #: replication/libpqwalreceiver/libpqwalreceiver.c:387 #: replication/logical/logical.c:210 replication/walsender.c:835 #: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 @@ -232,7 +231,7 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m" #: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401 #: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 #: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062 -#: utils/misc/guc.c:4458 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 +#: utils/misc/guc.c:4467 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 #: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 #: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 #: utils/mmgr/slab.c:370 @@ -276,8 +275,8 @@ msgstr "konnte kein »%s« zum Ausführen finden" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "konnte Pfad »%s« nicht in absolute Form auflösen: %m" -#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1721 -#: commands/copyto.c:649 libpq/be-secure-common.c:59 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723 +#: commands/copyto.c:650 libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "konnte Befehl »%s« nicht ausführen: %m" @@ -322,8 +321,8 @@ msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m" #: ../common/file_utils.c:570 access/transam/twophase.c:1337 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 #: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624 -#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1747 -#: commands/copyto.c:695 commands/extension.c:3527 commands/tablespace.c:804 +#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 +#: commands/copyto.c:696 commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 #: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173 #: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 @@ -549,7 +548,7 @@ msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" #: ../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" #: ../common/parse_manifest.c:662 @@ -646,8 +645,8 @@ msgstr "konnte Backup-Manifest nicht parsen: %s" #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 #: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 -#: utils/misc/guc.c:3283 utils/misc/guc.c:4662 utils/misc/guc.c:6887 -#: utils/misc/guc.c:6928 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896 +#: utils/misc/guc.c:6937 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ungültiger Wert für Parameter »%s«: »%s«" @@ -711,7 +710,7 @@ msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu" #: access/transam/twophase.c:1726 access/transam/xlogarchive.c:119 #: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048 #: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4560 +#: replication/logical/reorderbuffer.c:4584 #: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146 #: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378 #: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 @@ -923,7 +922,7 @@ msgid "could not open parent table of index \"%s\"" msgstr "konnte Basistabelle von Index »%s« nicht öffnen" #: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2249 #, c-format msgid "index \"%s\" is not valid" msgstr "Index »%s« ist nicht gültig" @@ -1055,7 +1054,7 @@ msgid "index row requires %zu bytes, maximum size is %zu" msgstr "Indexzeile benötigt %zu Bytes, Maximalgröße ist %zu" #: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 -#: tcop/fastpath.c:454 tcop/postgres.c:1940 +#: tcop/fastpath.c:454 tcop/postgres.c:1944 #, c-format msgid "unsupported format code: %d" msgstr "nicht unterstützter Formatcode: %d" @@ -1281,7 +1280,7 @@ msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge ni #: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 #: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 -#: commands/indexcmds.c:2047 commands/tablecmds.c:18083 commands/view.c:81 +#: commands/indexcmds.c:2047 commands/tablecmds.c:18068 commands/view.c:81 #: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653 #: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189 #: utils/adt/like_support.c:1024 utils/adt/varchar.c:738 @@ -1389,7 +1388,7 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m" #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 #: postmaster/launch_backend.c:340 postmaster/postmaster.c:4112 -#: postmaster/walsummarizer.c:1210 replication/logical/origin.c:603 +#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 #: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format @@ -1410,8 +1409,8 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m" #: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788 #: replication/slot.c:2094 storage/file/buffile.c:545 #: storage/file/copydir.c:197 utils/init/miscinit.c:1601 -#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441 -#: utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450 +#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652 #: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" @@ -1654,7 +1653,7 @@ msgstr "auf Index »%s« kann nicht zugegriffen werden, während er reindiziert #: access/index/indexam.c:203 catalog/objectaddress.c:1356 #: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305 -#: commands/tablecmds.c:17778 commands/tablecmds.c:19605 +#: commands/tablecmds.c:17763 commands/tablecmds.c:19574 #, c-format msgid "\"%s\" is not an index" msgstr "»%s« ist kein Index" @@ -1680,7 +1679,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Das kann daran liegen, dass der Indexausdruck nicht »immutable« ist." #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 -#: parser/parse_utilcmd.c:2298 +#: parser/parse_utilcmd.c:2295 #, c-format msgid "index \"%s\" is not a btree" msgstr "Index »%s« ist kein B-Tree" @@ -1725,7 +1724,7 @@ msgid "operator family \"%s\" of access method %s is missing support function fo msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion für Typen %s und %s" #: access/sequence/sequence.c:75 access/table/table.c:145 -#: optimizer/util/plancat.c:143 +#: optimizer/util/plancat.c:144 #, c-format msgid "cannot open relation \"%s\"" msgstr "kann Relation »%s« nicht öffnen" @@ -1875,15 +1874,12 @@ msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u wurde noch nicht erzeugt -- anscheinender Überlauf" #: access/transam/multixact.c:2479 access/transam/multixact.c:2488 -#, fuzzy, c-format -#| msgid "" -#| "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n" -#| "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +#, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "" -"Um ein Abschalten der Datenbank zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" +"Um Scheitern von MultiXactId-Zuweisungen zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen." #: access/transam/multixact.c:2767 @@ -2202,7 +2198,7 @@ msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "berechnete CRC-Prüfsumme stimmt nicht mit dem Wert in Datei »%s« überein" #: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 -#: postmaster/walsummarizer.c:934 replication/logical/logical.c:211 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 #: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." @@ -2287,27 +2283,26 @@ msgstr "konnte nicht auf Datei »%s« zugreifen: %m" #: access/transam/varsup.c:156 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"" -msgstr "Datenbank nimmt keine Befehle an, die neue XIDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank »%s« zu vermeiden" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"" +msgstr "Datenbank nimmt keine Befehle an, die neue Transaktions-IDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank »%s« zu vermeiden" #: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u" -msgstr "Datenbank nimmt keine Befehle an, die neue XIDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u" +msgstr "Datenbank nimmt keine Befehle an, die neue Transaktions-IDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden" #: access/transam/varsup.c:175 access/transam/varsup.c:490 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "Datenbank »%s« muss innerhalb von %u Transaktionen gevacuumt werden" -#: access/transam/varsup.c:178 access/transam/varsup.c:185 -#: access/transam/varsup.c:493 access/transam/varsup.c:500 +#: access/transam/varsup.c:178 #, c-format msgid "" -"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" +"To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "" -"Um ein Fehler bei der Zuweisung von XIDs zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" +"Um ein Fehler bei der Zuweisung von Transaktions-IDs zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen." #: access/transam/varsup.c:182 access/transam/varsup.c:497 @@ -2315,10 +2310,20 @@ msgstr "" msgid "database with OID %u must be vacuumed within %u transactions" msgstr "Datenbank mit OID %u muss innerhalb von %u Transaktionen gevacuumt werden" +#: access/transam/varsup.c:185 access/transam/varsup.c:493 +#: access/transam/varsup.c:500 +#, c-format +msgid "" +"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" +"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +msgstr "" +"Um ein Fehler bei der Zuweisung von XIDs zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" +"Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen." + #: access/transam/xact.c:649 #, c-format -msgid "cannot assign XIDs during a parallel operation" -msgstr "während einer parallelen Operation können keine XIDs zugewiesen werden" +msgid "cannot assign transaction IDs during a parallel operation" +msgstr "während einer parallelen Operation können keine Transaktions-IDs zugewiesen werden" #: access/transam/xact.c:840 #, c-format @@ -2483,7 +2488,7 @@ msgid "creating missing WAL directory \"%s\"" msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«" #: access/transam/xlog.c:4124 access/transam/xlog.c:4144 -#: commands/dbcommands.c:3242 +#: commands/dbcommands.c:3259 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m" @@ -2619,13 +2624,13 @@ msgstr "»max_wal_size« muss mindestens zweimal so groß wie »wal_segment_size #: access/transam/xlog.c:4661 catalog/namespace.c:4681 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2429 utils/error/elog.c:2230 +#: replication/slot.c:2429 tcop/postgres.c:3691 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "Die Listensyntax ist ungültig." #: access/transam/xlog.c:4707 commands/user.c:2545 commands/variable.c:173 -#: utils/error/elog.c:2256 +#: tcop/postgres.c:3707 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Unbekanntes Schlüsselwort: »%s«." @@ -3025,7 +3030,7 @@ msgstr "Verbindung wird abgebrochen wegen unerwartetem Ende des Postmasters" #: access/transam/xlogfuncs.c:740 #, c-format msgid "while waiting on promotion" -msgstr "" +msgstr "beim Warten auf Beförderung" #: access/transam/xlogfuncs.c:744 #, c-format @@ -3200,10 +3205,9 @@ msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on ti msgstr "starte Wiederherstellung aus Backup mit Redo-LSN %X/%X, Checkpoint-LSN %X/%X, auf Zeitleisten-ID %u" #: access/transam/xlogrecovery.c:649 -#, fuzzy, c-format -#| msgid "could not find redo location referenced by checkpoint record" +#, c-format msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X" -msgstr "konnte die vom Checkpoint-Datensatz referenzierte Redo-Position nicht finden" +msgstr "konnte die Redo-Position %X/%X, die vom Checkpoint-Datensatz bei %X/%X referenziert wird, nicht finden" #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 #, c-format @@ -3826,7 +3830,7 @@ msgstr "ungültige Komprimierungsangabe: %s" #: backup/basebackup.c:1024 #, c-format msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" -msgstr "" +msgstr "UPLOAD_MANIFEST muss vor einem inkrementellen BASE_BACKUP ausgeführt werden" #: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format @@ -3888,7 +3892,7 @@ msgstr "konnte Komprimierungsbibliothek nicht initialisieren" #: backup/basebackup_incremental.c:294 #, c-format msgid "manifest contains no required WAL ranges" -msgstr "" +msgstr "Manifest enthält keine benötigten WAL-Bereiche" #: backup/basebackup_incremental.c:349 #, c-format @@ -3896,32 +3900,29 @@ msgid "timeline %u found in manifest, but not in this server's history" msgstr "Zeitleiste %u wurde im Manifest gefunden, aber nicht in der History dieses Servers" #: backup/basebackup_incremental.c:414 -#, fuzzy, c-format -#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" +#, c-format msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" -msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt" +msgstr "Manifest benötigt WAL aus der initialen Zeitleiste %u beginnend bei %X/%X, aber diese Zeitleiste beginnt bei %X/%X" #: backup/basebackup_incremental.c:424 -#, fuzzy, c-format -#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" +#, c-format msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" -msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt" +msgstr "Manifest benötigt WAL aus der Fortsetzungszeitleiste %u beginnend bei %X/%X, aber diese Zeitleiste beginnt bei %X/%X" #: backup/basebackup_incremental.c:435 #, c-format msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" -msgstr "" +msgstr "Manifest benötigt WAL aus der finalen Zeitleiste %u endend bei %X/%X, aber dieses Backup startet bei %X/%X" #: backup/basebackup_incremental.c:439 #, c-format msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." -msgstr "" +msgstr "Das kann für inkrementelle Backups auf einem Standby passieren, wenn es wenig Aktivität seit dem letzten Backup gab." #: backup/basebackup_incremental.c:446 -#, fuzzy, c-format -#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" +#, c-format msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" -msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt" +msgstr "Manifest benötigt WAL aus der nicht-finalen Zeitleiste %u endend bei %X/%X, aber dieser Server hat die Zeitleiste bei %X/%X gewechselt" #: backup/basebackup_incremental.c:527 #, c-format @@ -3944,10 +3945,9 @@ msgid "backup manifest version 1 does not support incremental backup" msgstr "Backup-Manifest Version 1 unterstützt kein inkrementelles Backup" #: backup/basebackup_incremental.c:956 -#, fuzzy, c-format -#| msgid "%s: manifest system identifier is %llu, but control file has %llu" -msgid "manifest system identifier is %llu, but database system identifier is %llu" -msgstr "%s: Systemidentifikator im Manifest ist %llu, aber Kontrolldatei hat %llu" +#, c-format +msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" +msgstr "Systemidentifikator im Backup-Manifest ist %llu, aber Datenbanksystemidentifikator ist %llu" #: backup/basebackup_lz4.c:67 #, c-format @@ -4031,12 +4031,12 @@ msgstr "konnte Long-Distance-Modus nicht einschalten: %s" msgid "invalid timeline %lld" msgstr "ungültige Zeitleiste %lld" -#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3858 +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3922 #, c-format msgid "--%s requires a value" msgstr "--%s benötigt einen Wert" -#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3863 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3927 #, c-format msgid "-c %s requires a value" msgstr "-c %s benötigt einen Wert" @@ -4204,21 +4204,21 @@ msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHEMAS verwendet wird" #: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523 -#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913 -#: commands/sequence.c:1652 commands/tablecmds.c:7561 commands/tablecmds.c:7715 -#: commands/tablecmds.c:7765 commands/tablecmds.c:7839 -#: commands/tablecmds.c:7909 commands/tablecmds.c:8039 -#: commands/tablecmds.c:8168 commands/tablecmds.c:8262 -#: commands/tablecmds.c:8363 commands/tablecmds.c:8490 -#: commands/tablecmds.c:8520 commands/tablecmds.c:8662 -#: commands/tablecmds.c:8755 commands/tablecmds.c:8889 -#: commands/tablecmds.c:9001 commands/tablecmds.c:12721 -#: commands/tablecmds.c:12902 commands/tablecmds.c:13063 -#: commands/tablecmds.c:14252 commands/tablecmds.c:16878 commands/trigger.c:942 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:947 +#: commands/sequence.c:1652 commands/tablecmds.c:7518 commands/tablecmds.c:7672 +#: commands/tablecmds.c:7722 commands/tablecmds.c:7796 +#: commands/tablecmds.c:7866 commands/tablecmds.c:7996 +#: commands/tablecmds.c:8125 commands/tablecmds.c:8219 +#: commands/tablecmds.c:8320 commands/tablecmds.c:8447 +#: commands/tablecmds.c:8477 commands/tablecmds.c:8619 +#: commands/tablecmds.c:8712 commands/tablecmds.c:8846 +#: commands/tablecmds.c:8958 commands/tablecmds.c:12695 +#: commands/tablecmds.c:12887 commands/tablecmds.c:13048 +#: commands/tablecmds.c:14237 commands/tablecmds.c:16863 commands/trigger.c:942 #: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3538 -#: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923 -#: utils/adt/ruleutils.c:2811 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3381 +#: parser/parse_utilcmd.c:3421 parser/parse_utilcmd.c:3463 utils/adt/acl.c:2923 +#: utils/adt/ruleutils.c:2807 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "Spalte »%s« von Relation »%s« existiert nicht" @@ -4228,13 +4228,13 @@ msgstr "Spalte »%s« von Relation »%s« existiert nicht" msgid "\"%s\" is an index" msgstr "»%s« ist ein Index" -#: catalog/aclchk.c:1868 commands/tablecmds.c:14409 commands/tablecmds.c:17787 +#: catalog/aclchk.c:1868 commands/tablecmds.c:14394 commands/tablecmds.c:17772 #, c-format msgid "\"%s\" is a composite type" msgstr "»%s« ist ein zusammengesetzter Typ" #: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 -#: commands/tablecmds.c:17751 utils/adt/acl.c:2107 utils/adt/acl.c:2137 +#: commands/tablecmds.c:17736 utils/adt/acl.c:2107 utils/adt/acl.c:2137 #: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237 #: utils/adt/acl.c:2268 #, c-format @@ -4699,7 +4699,7 @@ msgstr "nur Superuser können %s() aufrufen" msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden" -#: catalog/catalog.c:642 parser/parse_utilcmd.c:2245 +#: catalog/catalog.c:642 parser/parse_utilcmd.c:2242 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "Index »%s« gehört nicht zu Tabelle »%s«" @@ -4760,15 +4760,15 @@ msgid "cannot drop %s because other objects depend on it" msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen" #: catalog/dependency.c:1153 catalog/dependency.c:1160 -#: catalog/dependency.c:1171 commands/tablecmds.c:1447 -#: commands/tablecmds.c:15001 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4639 -#: executor/execExprInterp.c:4645 libpq/auth.c:324 +#: catalog/dependency.c:1171 commands/tablecmds.c:1442 +#: commands/tablecmds.c:14986 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4641 +#: executor/execExprInterp.c:4649 libpq/auth.c:324 #: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 -#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781 -#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892 -#: utils/misc/guc.c:6934 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790 +#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901 +#: utils/misc/guc.c:6943 #, c-format msgid "%s" msgstr "%s" @@ -4811,13 +4811,13 @@ msgstr "keine Berechtigung, um »%s.%s« zu erzeugen" msgid "System catalog modifications are currently disallowed." msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt." -#: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905 -#: commands/tablecmds.c:7183 +#: catalog/heap.c:467 commands/tablecmds.c:2478 commands/tablecmds.c:2900 +#: commands/tablecmds.c:7140 #, c-format msgid "tables can have at most %d columns" msgstr "Tabellen können höchstens %d Spalten haben" -#: catalog/heap.c:485 commands/tablecmds.c:7452 +#: catalog/heap.c:485 commands/tablecmds.c:7409 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte" @@ -4855,8 +4855,7 @@ msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "für Spalte »%s« mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet" #: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 -#: commands/tablecmds.c:4154 commands/tablecmds.c:20484 -#: commands/tablecmds.c:20746 +#: commands/tablecmds.c:4149 #, c-format msgid "relation \"%s\" already exists" msgstr "Relation »%s« existiert bereits" @@ -4900,7 +4899,7 @@ msgid "check constraint \"%s\" already exists" msgstr "Check-Constraint »%s« existiert bereits" #: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724 -#: commands/tablecmds.c:9376 +#: commands/tablecmds.c:9333 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "Constraint »%s« existiert bereits für Relation »%s«" @@ -4925,9 +4924,9 @@ msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für Relation »%s msgid "merging constraint \"%s\" with inherited definition" msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt" -#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3062 -#: commands/tablecmds.c:3365 commands/tablecmds.c:7109 -#: commands/tablecmds.c:15819 commands/tablecmds.c:15950 +#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3057 +#: commands/tablecmds.c:3360 commands/tablecmds.c:7066 +#: commands/tablecmds.c:15804 commands/tablecmds.c:15935 #, c-format msgid "too many inheritance parents" msgstr "zu viele Elterntabellen" @@ -4957,14 +4956,14 @@ msgstr "Dadurch würde die generierte Spalte von ihrem eigenen Wert abhängen." msgid "generation expression is not immutable" msgstr "Generierungsausdruck ist nicht »immutable«" -#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1281 +#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1282 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "Spalte »%s« hat Typ %s, aber der Vorgabeausdruck hat Typ %s" #: catalog/heap.c:2812 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1286 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen." @@ -4999,7 +4998,7 @@ msgstr "Tabelle »%s« verweist auf »%s«." msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Leeren Sie die Tabelle »%s« gleichzeitig oder verwenden Sie TRUNCATE ... CASCADE." -#: catalog/index.c:219 parser/parse_utilcmd.c:2151 +#: catalog/index.c:219 parser/parse_utilcmd.c:2148 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "mehrere Primärschlüssel für Tabelle »%s« nicht erlaubt" @@ -5045,7 +5044,7 @@ msgid "shared indexes cannot be created after initdb" msgstr "Cluster-globale Indexe können nicht nach initdb erzeugt werden" #: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 -#: parser/parse_utilcmd.c:212 +#: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "Relation »%s« existiert bereits, wird übersprungen" @@ -5076,7 +5075,7 @@ msgid "cannot reindex invalid index on TOAST table" msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden" #: catalog/index.c:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676 -#: commands/tablecmds.c:3569 +#: commands/tablecmds.c:3564 #, c-format msgid "cannot move system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht verschoben werden" @@ -5175,7 +5174,7 @@ msgstr "Textsuchekonfiguration »%s« existiert nicht" msgid "cross-database references are not implemented: %s" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s" -#: catalog/namespace.c:3320 gram.y:19230 gram.y:19270 parser/parse_expr.c:875 +#: catalog/namespace.c:3320 gram.y:19174 gram.y:19214 parser/parse_expr.c:875 #: parser/parse_target.c:1266 #, c-format msgid "improper qualified name (too many dotted names): %s" @@ -5192,7 +5191,7 @@ msgid "cannot move objects into or out of TOAST schema" msgstr "Objekte können nicht in oder aus TOAST-Schemas verschoben werden" #: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1392 utils/adt/regproc.c:1688 +#: commands/tablecmds.c:1387 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "Schema »%s« existiert nicht" @@ -5228,26 +5227,26 @@ msgid "cannot create temporary tables during a parallel operation" msgstr "während einer parallelen Operation können keine temporären Tabellen erzeugt werden" #: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 -#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315 -#: commands/tablecmds.c:12838 parser/parse_utilcmd.c:3249 +#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2310 +#: commands/tablecmds.c:12823 #, c-format msgid "\"%s\" is not a table" msgstr "»%s« ist keine Tabelle" #: catalog/objectaddress.c:1378 commands/tablecmds.c:269 -#: commands/tablecmds.c:17756 commands/view.c:114 +#: commands/tablecmds.c:17741 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "»%s« ist keine Sicht" #: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 -#: commands/tablecmds.c:17761 +#: commands/tablecmds.c:17746 #, c-format msgid "\"%s\" is not a materialized view" msgstr "»%s« ist keine materialisierte Sicht" #: catalog/objectaddress.c:1392 commands/tablecmds.c:293 -#: commands/tablecmds.c:17766 +#: commands/tablecmds.c:17751 #, c-format msgid "\"%s\" is not a foreign table" msgstr "»%s« ist keine Fremdtabelle" @@ -5291,7 +5290,7 @@ msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "Benutzerabbildung für Benutzer »%s« auf Server »%s« existiert nicht" #: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:703 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "Server »%s« existiert nicht" @@ -6023,8 +6022,8 @@ msgstr "Partition »%s« kann nicht abgetrennt werden" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "Die Partition wird nebenläufig abgetrennt oder hat eine unfertige Abtrennoperation." -#: catalog/pg_inherits.c:595 commands/tablecmds.c:4790 -#: commands/tablecmds.c:16065 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4777 +#: commands/tablecmds.c:16050 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Abtrennoperation abzuschließen." @@ -6726,7 +6725,7 @@ msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern" msgid "there is no previously clustered index for table \"%s\"" msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«" -#: commands/cluster.c:191 commands/tablecmds.c:14710 commands/tablecmds.c:16641 +#: commands/cluster.c:191 commands/tablecmds.c:14695 commands/tablecmds.c:16626 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "Index »%s« für Tabelle »%s« existiert nicht" @@ -6741,7 +6740,7 @@ msgstr "globaler Katalog kann nicht geclustert werden" msgid "cannot vacuum temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden" -#: commands/cluster.c:513 commands/tablecmds.c:16651 +#: commands/cluster.c:513 commands/tablecmds.c:16636 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "»%s« ist kein Index für Tabelle »%s«" @@ -6806,7 +6805,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "Attribut »%s« für Sortierfolge unbekannt" #: commands/collationcmds.c:123 commands/collationcmds.c:129 -#: commands/define.c:388 commands/tablecmds.c:8149 +#: commands/define.c:388 commands/tablecmds.c:8106 #: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 #: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 #: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 @@ -6881,25 +6880,25 @@ msgstr "Version der Standardsortierfolge kann nicht aufgefrischt werden" #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command #: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 -#: commands/tablecmds.c:7925 commands/tablecmds.c:7935 -#: commands/tablecmds.c:7937 commands/tablecmds.c:14412 -#: commands/tablecmds.c:17789 commands/tablecmds.c:17810 +#: commands/tablecmds.c:7882 commands/tablecmds.c:7892 +#: commands/tablecmds.c:7894 commands/tablecmds.c:14397 +#: commands/tablecmds.c:17774 commands/tablecmds.c:17795 #: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 #, c-format msgid "Use %s instead." msgstr "Verwenden Sie stattdessen %s." -#: commands/collationcmds.c:480 commands/dbcommands.c:2550 +#: commands/collationcmds.c:480 commands/dbcommands.c:2567 #, c-format msgid "changing version from %s to %s" msgstr "Version wird von %s in %s geändert" -#: commands/collationcmds.c:495 commands/dbcommands.c:2563 +#: commands/collationcmds.c:495 commands/dbcommands.c:2580 #, c-format msgid "version has not changed" msgstr "Version hat sich nicht geändert" -#: commands/collationcmds.c:528 commands/dbcommands.c:2729 +#: commands/collationcmds.c:528 commands/dbcommands.c:2746 #, c-format msgid "database with OID %u does not exist" msgstr "Datenbank mit OID %u existiert nicht" @@ -6919,10 +6918,10 @@ msgstr "nur Superuser können Systemsortierfolgen importieren" msgid "no usable system locales were found" msgstr "keine brauchbaren System-Locales gefunden" -#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875 -#: commands/dbcommands.c:1985 commands/dbcommands.c:2183 -#: commands/dbcommands.c:2421 commands/dbcommands.c:2512 -#: commands/dbcommands.c:2633 commands/dbcommands.c:3141 +#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1892 +#: commands/dbcommands.c:2002 commands/dbcommands.c:2200 +#: commands/dbcommands.c:2438 commands/dbcommands.c:2529 +#: commands/dbcommands.c:2650 commands/dbcommands.c:3158 #: utils/init/postinit.c:1033 utils/init/postinit.c:1097 #: utils/init/postinit.c:1170 #, c-format @@ -7029,197 +7028,130 @@ msgstr "»%s« kann nicht mit HEADER in COPY TO verwendet werden" msgid "%s requires a Boolean value or \"match\"" msgstr "%s erfordert einen Boole’schen Wert oder »match«" -#: commands/copy.c:400 +#. translator: first %s is the name of a COPY option, e.g. ON_ERROR, +#. second %s is a COPY with direction, e.g. COPY TO +#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:796 +#: commands/copy.c:811 commands/copy.c:837 commands/copy.c:847 #, c-format -msgid "COPY ON_ERROR cannot be used with COPY TO" -msgstr "COPY ON_ERROR kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:413 -#, fuzzy, c-format -#| msgid "COPY format \"%s\" not recognized" -msgid "COPY ON_ERROR \"%s\" not recognized" -msgstr "COPY-Format »%s« nicht erkannt" +msgid "COPY %s cannot be used with %s" +msgstr "COPY %s kann nicht mit %s verwendet werden" -#: commands/copy.c:437 -#, fuzzy, c-format -#| msgid "COPY format \"%s\" not recognized" -msgid "COPY LOG_VERBOSITY \"%s\" not recognized" -msgstr "COPY-Format »%s« nicht erkannt" +#. translator: first %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:416 commands/copy.c:441 +#, c-format +msgid "COPY %s \"%s\" not recognized" +msgstr "COPY %s »%s« nicht erkannt" -#: commands/copy.c:498 +#: commands/copy.c:502 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "COPY-Format »%s« nicht erkannt" -#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586 -#: commands/copy.c:605 +#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 +#: commands/copy.c:609 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "Argument von Option »%s« muss eine Liste aus Spaltennamen sein" -#: commands/copy.c:617 +#: commands/copy.c:621 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "Argument von Option »%s« muss ein gültiger Kodierungsname sein" -#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369 +#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2386 #, c-format msgid "option \"%s\" not recognized" msgstr "Option »%s« nicht erkannt" -#: commands/copy.c:650 -#, c-format -msgid "cannot specify DELIMITER in BINARY mode" -msgstr "DELIMITER kann nicht im BINARY-Modus angegeben werden" - -#: commands/copy.c:655 -#, c-format -msgid "cannot specify NULL in BINARY mode" -msgstr "NULL kann nicht im BINARY-Modus angegeben werden" - -#: commands/copy.c:660 +#. translator: %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665 +#: commands/copy.c:740 #, c-format -msgid "cannot specify DEFAULT in BINARY mode" -msgstr "DEFAULT kann nicht im BINARY-Modus angegeben werden" +msgid "cannot specify %s in BINARY mode" +msgstr "%s kann nicht im BINARY-Modus angegeben werden" -#: commands/copy.c:665 +#: commands/copy.c:670 #, c-format msgid "only ON_ERROR STOP is allowed in BINARY mode" msgstr "nur ON_ERROR STOP ist im BINARY-Modus erlaubt" -#: commands/copy.c:687 +#: commands/copy.c:692 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "DELIMITER für COPY muss ein einzelnes Ein-Byte-Zeichen sein" -#: commands/copy.c:694 +#: commands/copy.c:699 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPY-Trennzeichen kann nicht Newline oder Carriage Return sein" -#: commands/copy.c:700 +#: commands/copy.c:705 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "COPY NULL-Darstellung kann nicht Newline oder Carriage Return enthalten" -#: commands/copy.c:710 +#: commands/copy.c:715 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "COPY DEFAULT-Darstellung kann nicht Newline oder Carriage Return enthalten" -#: commands/copy.c:728 +#: commands/copy.c:733 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "DELIMITER für COPY darf nicht »%s« sein" -#: commands/copy.c:734 +#. translator: %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776 +#: commands/copy.c:790 commands/copy.c:804 #, c-format -msgid "cannot specify HEADER in BINARY mode" -msgstr "HEADER kann nicht im BINARY-Modus angegeben werden" +msgid "COPY %s requires CSV mode" +msgstr "COPY %s benötigt CSV-Modus" -#: commands/copy.c:740 -#, c-format -msgid "COPY QUOTE requires CSV mode" -msgstr "COPY QUOTE benötigt CSV-Modus" - -#: commands/copy.c:745 +#: commands/copy.c:752 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "Quote-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein" -#: commands/copy.c:750 +#: commands/copy.c:757 #, c-format msgid "COPY delimiter and quote must be different" msgstr "DELIMITER und QUOTE für COPY müssen verschieden sein" -#: commands/copy.c:756 -#, c-format -msgid "COPY ESCAPE requires CSV mode" -msgstr "COPY ESCAPE benötigt CSV-Modus" - -#: commands/copy.c:761 +#: commands/copy.c:769 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "Escape-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein" -#: commands/copy.c:767 -#, c-format -msgid "COPY FORCE_QUOTE requires CSV mode" -msgstr "COPY FORCE_QUOTE benötigt CSV-Modus" - -#: commands/copy.c:771 -#, c-format -msgid "COPY FORCE_QUOTE cannot be used with COPY FROM" -msgstr "COPY FORCE_QUOTE kann nicht mit COPY FROM verwendet werden" - -#: commands/copy.c:777 -#, c-format -msgid "COPY FORCE_NOT_NULL requires CSV mode" -msgstr "COPY FORCE_NOT_NULL benötigt CSV-Modus" - -#: commands/copy.c:781 -#, c-format -msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NOT_NULL kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:787 -#, c-format -msgid "COPY FORCE_NULL requires CSV mode" -msgstr "COPY FORCE_NULL benötigt CSV-Modus" - -#: commands/copy.c:792 -#, c-format -msgid "COPY FORCE_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NULL kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:798 -#, c-format -msgid "COPY delimiter character must not appear in the NULL specification" -msgstr "Trennzeichen für COPY darf nicht in der NULL-Darstellung erscheinen" - -#: commands/copy.c:805 -#, c-format -msgid "CSV quote character must not appear in the NULL specification" -msgstr "CSV-Quote-Zeichen darf nicht in der NULL-Darstellung erscheinen" - -#: commands/copy.c:811 -#, c-format -msgid "COPY FREEZE cannot be used with COPY TO" -msgstr "COPY FREEZE kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:818 -#, c-format -msgid "COPY DEFAULT only available using COPY FROM" -msgstr "COPY DEFAULT ist nur bei COPY FROM verfügbar" - -#: commands/copy.c:824 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:819 commands/copy.c:855 #, c-format -msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "Trennzeichen für COPY darf nicht in der DEFAULT-Darstellung erscheinen" +msgid "COPY delimiter character must not appear in the %s specification" +msgstr "Trennzeichen für COPY darf nicht in der %s-Darstellung erscheinen" -#: commands/copy.c:831 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:828 commands/copy.c:864 #, c-format -msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "CSV-Quote-Zeichen darf nicht in der DEFAULT-Darstellung erscheinen" +msgid "CSV quote character must not appear in the %s specification" +msgstr "CSV-Quote-Zeichen darf nicht in der %s-Darstellung erscheinen" -#: commands/copy.c:839 +#: commands/copy.c:873 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "NULL-Darstellung und DEFAULT-Darstellung können nicht gleich sein" -#: commands/copy.c:901 +#: commands/copy.c:935 #, c-format msgid "column \"%s\" is a generated column" msgstr "Spalte »%s« ist eine generierte Spalte" -#: commands/copy.c:903 +#: commands/copy.c:937 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Generierte Spalten können nicht in COPY verwendet werden." -#: commands/copy.c:918 commands/indexcmds.c:1916 commands/statscmds.c:239 -#: commands/tablecmds.c:2514 commands/tablecmds.c:2985 -#: commands/tablecmds.c:3793 parser/parse_relation.c:3692 +#: commands/copy.c:952 commands/indexcmds.c:1916 commands/statscmds.c:239 +#: commands/tablecmds.c:2509 commands/tablecmds.c:2980 +#: commands/tablecmds.c:3788 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 #: parser/parse_relation.c:3727 parser/parse_relation.c:3741 #: utils/adt/tsvector_op.c:2853 @@ -7227,7 +7159,7 @@ msgstr "Generierte Spalten können nicht in COPY verwendet werden." msgid "column \"%s\" does not exist" msgstr "Spalte »%s« existiert nicht" -#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951 +#: commands/copy.c:959 commands/tablecmds.c:2535 commands/trigger.c:951 #: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" @@ -7310,37 +7242,34 @@ msgid_plural "%llu rows were skipped due to data type incompatibility" msgstr[0] "%llu Zeile wurde übersprungen wegen Datentypinkompatibilität" msgstr[1] "%llu Zeilen wurden übersprungen wegen Datentypinkompatibilität" -#: commands/copyfrom.c:1447 -#, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "Spalte »%s« mit FORCE_NOT_NULL wird von COPY nicht verwendet" - -#: commands/copyfrom.c:1489 +#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:597 #, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "Spalte »%s« mit FORCE_NULL wird von COPY nicht verwendet" +msgid "%s column \"%s\" not referenced by COPY" +msgstr "Spalte »%s« mit %s wird von COPY nicht verwendet" -#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "Standardumwandlung von Kodierung »%s« nach »%s« existiert nicht" -#: commands/copyfrom.c:1740 +#: commands/copyfrom.c:1742 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "Mit COPY FROM liest der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql." -#: commands/copyfrom.c:1753 commands/copyto.c:701 +#: commands/copyfrom.c:1755 commands/copyto.c:702 #, c-format msgid "\"%s\" is a directory" msgstr "»%s« ist ein Verzeichnis" -#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "konnte Pipe zu externem Programm nicht schließen: %m" -#: commands/copyfrom.c:1836 commands/copyto.c:304 +#: commands/copyfrom.c:1838 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "Programm »%s« fehlgeschlagen" @@ -7381,7 +7310,7 @@ msgid "could not read from COPY file: %m" msgstr "konnte nicht aus COPY-Datei lesen: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377 +#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "unerwartetes EOF auf Client-Verbindung mit einer offenen Transaktion" @@ -7424,13 +7353,13 @@ msgstr "fehlende Daten für Spalte »%s«" #: commands/copyfromparse.c:990 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\"" -msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte %s: »%s«" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"" +msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte »%s«: »%s«" #: commands/copyfromparse.c:998 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: null input" -msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte %s: Eingabe ist NULL" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": null input" +msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte »%s«: Eingabe ist NULL" #: commands/copyfromparse.c:1044 #, c-format @@ -7603,22 +7532,17 @@ msgstr "COPY-Anfrage muss eine RETURNING-Klausel haben" msgid "relation referenced by COPY statement has changed" msgstr "die von der COPY-Anweisung verwendete Relation hat sich geändert" -#: commands/copyto.c:596 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "FORCE_QUOTE-Spalte »%s« wird von COPY nicht verwendet" - -#: commands/copyto.c:666 +#: commands/copyto.c:667 #, c-format msgid "relative path not allowed for COPY to file" msgstr "relativer Pfad bei COPY in Datei nicht erlaubt" -#: commands/copyto.c:685 +#: commands/copyto.c:686 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m" -#: commands/copyto.c:688 +#: commands/copyto.c:689 #, c-format msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." msgstr "Mit COPY TO schreibt der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql." @@ -7663,7 +7587,7 @@ msgstr "%s ist kein gültiger Kodierungsname" msgid "unrecognized locale provider: %s" msgstr "unbekannter Locale-Provider: %s" -#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299 +#: commands/dbcommands.c:944 commands/dbcommands.c:2419 commands/user.c:299 #: commands/user.c:739 #, c-format msgid "invalid connection limit: %d" @@ -7684,7 +7608,7 @@ msgstr "Template-Datenbank »%s« existiert nicht" msgid "cannot use invalid database \"%s\" as template" msgstr "ungültige Datenbank »%s« kann nicht als Template verwendet werden" -#: commands/dbcommands.c:1000 commands/dbcommands.c:2431 +#: commands/dbcommands.c:1000 commands/dbcommands.c:2448 #: utils/init/postinit.c:1112 #, c-format msgid "Use DROP DATABASE to drop invalid databases." @@ -7830,7 +7754,7 @@ msgstr "Die Template-Datenbank wurde mit Sortierfolgenversion %s erzeugt, aber d msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "Bauen Sie alle Objekte in der Template-Datenbank, die die Standardsortierfolge verwenden, neu und führen Sie ALTER DATABASE %s REFRESH COLLATION VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion." -#: commands/dbcommands.c:1298 commands/dbcommands.c:2031 +#: commands/dbcommands.c:1298 commands/dbcommands.c:2048 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "pg_global kann nicht als Standard-Tablespace verwendet werden" @@ -7845,7 +7769,7 @@ msgstr "kann neuen Standard-Tablespace »%s« nicht setzen" msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." msgstr "Es gibt einen Konflikt, weil Datenbank »%s« schon einige Tabellen in diesem Tablespace hat." -#: commands/dbcommands.c:1356 commands/dbcommands.c:1904 +#: commands/dbcommands.c:1356 commands/dbcommands.c:1921 #, c-format msgid "database \"%s\" already exists" msgstr "Datenbank »%s« existiert bereits" @@ -7881,132 +7805,132 @@ msgstr "Die gewählte LC_CTYPE-Einstellung verlangt die Kodierung »%s«." msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "Die gewählte LC_COLLATE-Einstellung verlangt die Kodierung »%s«." -#: commands/dbcommands.c:1670 +#: commands/dbcommands.c:1672 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "Datenbank »%s« existiert nicht, wird übersprungen" -#: commands/dbcommands.c:1694 +#: commands/dbcommands.c:1696 #, c-format msgid "cannot drop a template database" msgstr "Template-Datenbank kann nicht gelöscht werden" -#: commands/dbcommands.c:1700 +#: commands/dbcommands.c:1702 #, c-format msgid "cannot drop the currently open database" msgstr "kann aktuell geöffnete Datenbank nicht löschen" -#: commands/dbcommands.c:1713 +#: commands/dbcommands.c:1715 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "Datenbank »%s« wird von einem aktiven logischen Replikations-Slot verwendet" -#: commands/dbcommands.c:1715 +#: commands/dbcommands.c:1717 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." msgstr[0] "%d Slot ist vorhanden." msgstr[1] "%d Slots sind vorhanden." -#: commands/dbcommands.c:1729 +#: commands/dbcommands.c:1731 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "Datenbank »%s« wird von einer Subskription für logische Replikation verwendet" -#: commands/dbcommands.c:1731 +#: commands/dbcommands.c:1733 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." msgstr[0] "%d Subskription ist vorhanden." msgstr[1] "%d Subskriptionen sind vorhanden." -#: commands/dbcommands.c:1752 commands/dbcommands.c:1926 -#: commands/dbcommands.c:2053 +#: commands/dbcommands.c:1754 commands/dbcommands.c:1943 +#: commands/dbcommands.c:2070 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "auf Datenbank »%s« wird von anderen Benutzern zugegriffen" -#: commands/dbcommands.c:1886 +#: commands/dbcommands.c:1903 #, c-format msgid "permission denied to rename database" msgstr "keine Berechtigung, um Datenbank umzubenennen" -#: commands/dbcommands.c:1915 +#: commands/dbcommands.c:1932 #, c-format msgid "current database cannot be renamed" msgstr "aktuelle Datenbank kann nicht umbenannt werden" -#: commands/dbcommands.c:2009 +#: commands/dbcommands.c:2026 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "kann den Tablespace der aktuell geöffneten Datenbank nicht ändern" -#: commands/dbcommands.c:2115 +#: commands/dbcommands.c:2132 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "einige Relationen von Datenbank »%s« ist bereits in Tablespace »%s«" -#: commands/dbcommands.c:2117 +#: commands/dbcommands.c:2134 #, c-format msgid "You must move them back to the database's default tablespace before using this command." msgstr "Sie müssen sie zurück in den Standard-Tablespace der Datenbank verschieben, bevor Sie diesen Befehl verwenden können." -#: commands/dbcommands.c:2244 commands/dbcommands.c:2979 -#: commands/dbcommands.c:3279 commands/dbcommands.c:3392 +#: commands/dbcommands.c:2261 commands/dbcommands.c:2996 +#: commands/dbcommands.c:3296 commands/dbcommands.c:3409 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "einige nutzlose Dateien wurde möglicherweise im alten Datenbankverzeichnis »%s« zurückgelassen" -#: commands/dbcommands.c:2305 +#: commands/dbcommands.c:2322 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "unbekannte DROP-DATABASE-Option »%s«" -#: commands/dbcommands.c:2383 +#: commands/dbcommands.c:2400 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "Option »%s« kann nicht mit anderen Optionen angegeben werden" -#: commands/dbcommands.c:2430 +#: commands/dbcommands.c:2447 #, c-format msgid "cannot alter invalid database \"%s\"" msgstr "ungültige Datenbank »%s« kann nicht geändert werden" -#: commands/dbcommands.c:2447 +#: commands/dbcommands.c:2464 #, c-format msgid "cannot disallow connections for current database" msgstr "Verbindungen mit der aktuellen Datenbank können nicht verboten werden" -#: commands/dbcommands.c:2673 +#: commands/dbcommands.c:2690 #, c-format msgid "permission denied to change owner of database" msgstr "keine Berechtigung, um Eigentümer der Datenbank zu ändern" -#: commands/dbcommands.c:3085 +#: commands/dbcommands.c:3102 #, c-format msgid "There are %d other session(s) and %d prepared transaction(s) using the database." msgstr "%d andere Sitzung(en) und %d vorbereitete Transaktion(en) verwenden die Datenbank." -#: commands/dbcommands.c:3088 +#: commands/dbcommands.c:3105 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." msgstr[0] "%d andere Sitzung verwendet die Datenbank." msgstr[1] "%d andere Sitzungen verwenden die Datenbank." -#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3859 +#: commands/dbcommands.c:3110 storage/ipc/procarray.c:3859 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." msgstr[0] "%d vorbereitete Transaktion verwendet die Datenbank." msgstr[1] "%d vorbereitete Transaktionen verwenden die Datenbank." -#: commands/dbcommands.c:3235 +#: commands/dbcommands.c:3252 #, c-format msgid "missing directory \"%s\"" msgstr "Verzeichnis »%s« fehlt" -#: commands/dbcommands.c:3293 commands/tablespace.c:184 +#: commands/dbcommands.c:3310 commands/tablespace.c:184 #: commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" @@ -8050,7 +7974,7 @@ msgid "invalid argument for %s: \"%s\"" msgstr "ungültiges Argument für %s: »%s«" #: commands/dropcmds.c:96 commands/functioncmds.c:1382 -#: utils/adt/ruleutils.c:2909 +#: utils/adt/ruleutils.c:2905 #, c-format msgid "\"%s\" is an aggregate function" msgstr "»%s« ist eine Aggregatfunktion" @@ -8060,14 +7984,14 @@ msgstr "»%s« ist eine Aggregatfunktion" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen." -#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3877 -#: commands/tablecmds.c:4035 commands/tablecmds.c:4087 -#: commands/tablecmds.c:17073 tcop/utility.c:1325 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3872 +#: commands/tablecmds.c:4030 commands/tablecmds.c:4082 +#: commands/tablecmds.c:17058 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "Relation »%s« existiert nicht, wird übersprungen" -#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1392 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "Schema »%s« existiert nicht, wird übersprungen" @@ -8228,10 +8152,9 @@ msgid "unrecognized filter variable \"%s\"" msgstr "unbekannte Filtervariable »%s«" #: commands/event_trigger.c:181 -#, fuzzy, c-format -#| msgid "This operation is not supported for unlogged tables." +#, c-format msgid "tag filtering is not supported for login event triggers" -msgstr "Diese Operation wird für ungeloggte Tabellen nicht unterstützt." +msgstr "Tag-Filtern wird für Login-Ereignistrigger nicht unterstützt" #: commands/event_trigger.c:224 #, c-format @@ -8623,7 +8546,7 @@ msgstr "Nur Superuser können den Eigentümer eines Fremddaten-Wrappers ändern. msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Der Eigentümer eines Fremddaten-Wrappers muss ein Superuser sein." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "Fremddaten-Wrapper »%s« existiert nicht" @@ -8693,7 +8616,7 @@ msgstr "Benutzerabbildung für »%s« existiert nicht für Server »%s«" msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "Benutzerabbildung für »%s« existiert nicht für Server »%s«, wird übersprungen" -#: commands/foreigncmds.c:1507 foreign/foreign.c:394 +#: commands/foreigncmds.c:1507 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "Fremddaten-Wrapper »%s« hat keinen Handler" @@ -8868,13 +8791,13 @@ msgstr "nur ein AS-Element benötigt für Sprache »%s«" msgid "no language specified" msgstr "keine Sprache angegeben" -#: commands/functioncmds.c:1099 commands/functioncmds.c:2104 +#: commands/functioncmds.c:1099 commands/functioncmds.c:2117 #: commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "Sprache »%s« existiert nicht" -#: commands/functioncmds.c:1101 commands/functioncmds.c:2106 +#: commands/functioncmds.c:1101 commands/functioncmds.c:2119 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Verwenden Sie CREATE EXTENSION, um die Sprache in die Datenbank zu laden." @@ -8969,102 +8892,107 @@ msgstr "nur Superuser können Typumwandlungen mit WITHOUT FUNCTION erzeugen" msgid "source and target data types are not physically compatible" msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel" -#: commands/functioncmds.c:1704 +#: commands/functioncmds.c:1709 #, c-format msgid "composite data types are not binary-compatible" msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1710 -#, c-format -msgid "enum data types are not binary-compatible" -msgstr "Enum-Datentypen sind nicht binärkompatibel" - -#: commands/functioncmds.c:1716 +#: commands/functioncmds.c:1715 #, c-format msgid "array data types are not binary-compatible" msgstr "Array-Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1733 +#: commands/functioncmds.c:1723 +#, c-format +msgid "range data types are not binary-compatible" +msgstr "Range-Datentypen sind nicht binärkompatibel" + +#: commands/functioncmds.c:1729 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "Enum-Datentypen sind nicht binärkompatibel" + +#: commands/functioncmds.c:1746 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "Domänendatentypen dürfen nicht als binärkompatibel markiert werden" -#: commands/functioncmds.c:1743 +#: commands/functioncmds.c:1756 #, c-format msgid "source data type and target data type are the same" msgstr "Quelldatentyp und Zieldatentyp sind der selbe" -#: commands/functioncmds.c:1776 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must not be volatile" msgstr "Transformationsfunktion darf nicht VOLATILE sein" -#: commands/functioncmds.c:1780 +#: commands/functioncmds.c:1793 #, c-format msgid "transform function must be a normal function" msgstr "Transformationsfunktion muss eine normale Funktion sein" -#: commands/functioncmds.c:1784 +#: commands/functioncmds.c:1797 #, c-format msgid "transform function must not return a set" msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben" -#: commands/functioncmds.c:1788 +#: commands/functioncmds.c:1801 #, c-format msgid "transform function must take one argument" msgstr "Transformationsfunktion muss ein Argument haben" -#: commands/functioncmds.c:1792 +#: commands/functioncmds.c:1805 #, c-format msgid "first argument of transform function must be type %s" msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben" -#: commands/functioncmds.c:1831 +#: commands/functioncmds.c:1844 #, c-format msgid "data type %s is a pseudo-type" msgstr "Datentyp %s ist ein Pseudotyp" -#: commands/functioncmds.c:1837 +#: commands/functioncmds.c:1850 #, c-format msgid "data type %s is a domain" msgstr "Datentyp %s ist eine Domäne" -#: commands/functioncmds.c:1877 +#: commands/functioncmds.c:1890 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "Rückgabetyp der FROM-SQL-Funktion muss %s sein" -#: commands/functioncmds.c:1903 +#: commands/functioncmds.c:1916 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "Rückgabetyp der TO-SQL-Funktion muss der zu transformierende Datentyp sein" -#: commands/functioncmds.c:1930 +#: commands/functioncmds.c:1943 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "Transformation für Typ %s Sprache »%s« existiert bereits" -#: commands/functioncmds.c:2016 +#: commands/functioncmds.c:2029 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "Transformation für Typ %s Sprache »%s« existiert nicht" -#: commands/functioncmds.c:2040 +#: commands/functioncmds.c:2053 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "Funktion %s existiert bereits in Schema »%s«" -#: commands/functioncmds.c:2091 +#: commands/functioncmds.c:2104 #, c-format msgid "no inline code specified" msgstr "kein Inline-Code angegeben" -#: commands/functioncmds.c:2137 +#: commands/functioncmds.c:2150 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "Sprache »%s« unterstützt das Ausführen von Inline-Code nicht" -#: commands/functioncmds.c:2232 +#: commands/functioncmds.c:2245 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -9096,12 +9024,12 @@ msgstr "kann Index für partitionierte Tabelle »%s« nicht nebenläufig erzeuge msgid "cannot create indexes on temporary tables of other sessions" msgstr "kann keine Indexe für temporäre Tabellen anderer Sitzungen erzeugen" -#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178 +#: commands/indexcmds.c:768 commands/tablecmds.c:801 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden" -#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3576 +#: commands/indexcmds.c:800 commands/tablecmds.c:832 commands/tablecmds.c:3571 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "nur geteilte Relationen können in den Tablespace »pg_global« gelegt werden" @@ -9147,10 +9075,9 @@ msgid "%s constraints cannot be used when partition keys include expressions." msgstr "%s-Constraints können nicht verwendet werden, wenn Partitionierungsschlüssel Ausdrücke enthalten." #: commands/indexcmds.c:1060 -#, fuzzy, c-format -#| msgid "cannot match partition key to an index using access method \"%s\"" +#, c-format msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\"" -msgstr "Partitionierungsschlüssel kann nicht mit Zugriffsmethode »%s« mit einem Index gepaart werden" +msgstr "Partitionierungsschlüssel kann nicht mit Nicht-Ist-Gleich-Operator »%s« mit Index für Spalte »%s« gepaart werden" #: commands/indexcmds.c:1076 #, c-format @@ -9182,13 +9109,13 @@ msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind." msgid "functions in index predicate must be marked IMMUTABLE" msgstr "Funktionen im Indexprädikat müssen als IMMUTABLE markiert sein" -#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2494 -#: parser/parse_utilcmd.c:2629 +#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2491 +#: parser/parse_utilcmd.c:2626 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "Spalte »%s«, die im Schlüssel verwendet wird, existiert nicht" -#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1782 +#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1779 #, c-format msgid "expressions are not supported in included columns" msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt" @@ -9223,8 +9150,8 @@ msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht" msgid "could not determine which collation to use for index expression" msgstr "konnte die für den Indexausdruck zu verwendende Sortierfolge nicht bestimmen" -#: commands/indexcmds.c:2054 commands/tablecmds.c:18090 commands/typecmds.c:811 -#: parser/parse_expr.c:2784 parser/parse_type.c:568 parser/parse_utilcmd.c:3918 +#: commands/indexcmds.c:2054 commands/tablecmds.c:18075 commands/typecmds.c:811 +#: parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3743 #: utils/adt/misc.c:630 #, c-format msgid "collations are not supported by type %s" @@ -9260,8 +9187,8 @@ msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht" msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "Zugriffsmethode »%s« unterstützt die Optionen NULLS FIRST/LAST nicht" -#: commands/indexcmds.c:2236 commands/tablecmds.c:18115 -#: commands/tablecmds.c:18121 commands/typecmds.c:2311 +#: commands/indexcmds.c:2236 commands/tablecmds.c:18100 +#: commands/tablecmds.c:18106 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "Datentyp %s hat keine Standardoperatorklasse für Zugriffsmethode »%s«" @@ -9383,7 +9310,7 @@ msgstr "kann Relation »%s« nicht sperren" msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht nicht befüllt ist" -#: commands/matview.c:212 gram.y:18967 +#: commands/matview.c:212 gram.y:18911 #, c-format msgid "%s and %s options cannot be used together" msgstr "Optionen %s und %s können nicht zusammen verwendet werden" @@ -9698,10 +9625,10 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "Operator-Attribut »%s« kann nicht geändert werden, wenn es schon gesetzt wurde" #: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 -#: commands/tablecmds.c:1728 commands/tablecmds.c:2328 -#: commands/tablecmds.c:3687 commands/tablecmds.c:6625 -#: commands/tablecmds.c:9657 commands/tablecmds.c:17677 -#: commands/tablecmds.c:17712 commands/trigger.c:316 commands/trigger.c:1332 +#: commands/tablecmds.c:1723 commands/tablecmds.c:2323 +#: commands/tablecmds.c:3682 commands/tablecmds.c:6582 +#: commands/tablecmds.c:9614 commands/tablecmds.c:17662 +#: commands/tablecmds.c:17697 commands/trigger.c:316 commands/trigger.c:1332 #: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 #: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format @@ -10151,8 +10078,8 @@ msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein" msgid "cannot change ownership of identity sequence" msgstr "kann Eigentümer einer Identitätssequenz nicht ändern" -#: commands/sequence.c:1668 commands/tablecmds.c:14399 -#: commands/tablecmds.c:17093 +#: commands/sequence.c:1668 commands/tablecmds.c:14384 +#: commands/tablecmds.c:17078 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft." @@ -10222,12 +10149,12 @@ msgstr "doppelter Spaltenname in Statistikdefinition" msgid "duplicate expression in statistics definition" msgstr "doppelter Ausdruck in Statistikdefinition" -#: commands/statscmds.c:628 commands/tablecmds.c:8640 +#: commands/statscmds.c:628 commands/tablecmds.c:8597 #, c-format msgid "statistics target %d is too low" msgstr "Statistikziel %d ist zu niedrig" -#: commands/statscmds.c:636 commands/tablecmds.c:8648 +#: commands/statscmds.c:636 commands/tablecmds.c:8605 #, c-format msgid "lowering statistics target to %d" msgstr "setze Statistikziel auf %d herab" @@ -10322,10 +10249,9 @@ msgid "cannot set %s for enabled subscription" msgstr "für eine aktivierte Subskription kann nicht %s gesetzt werden" #: commands/subscriptioncmds.c:1233 -#, fuzzy, c-format -#| msgid "cannot enable subscription that does not have a slot name" -msgid "cannot set %s for a subscription that does not have a slot name" -msgstr "eine Subskription ohne Slot-Name kann nicht aktiviert werden" +#, c-format +msgid "cannot set option \"%s\" for a subscription that does not have a slot name" +msgstr "Option »%s« kann nicht für eine Subskription ohne Slot-Name gesetzt werden" #: commands/subscriptioncmds.c:1279 #, c-format @@ -10518,8 +10444,8 @@ msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Verwenden Sie DROP MATERIALIZED VIEW, um eine materialisierte Sicht zu löschen." -#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19648 -#: parser/parse_utilcmd.c:2226 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19617 +#: parser/parse_utilcmd.c:2223 #, c-format msgid "index \"%s\" does not exist" msgstr "Index »%s« existiert nicht" @@ -10542,8 +10468,8 @@ msgstr "»%s« ist kein Typ" msgid "Use DROP TYPE to remove a type." msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen." -#: commands/tablecmds.c:291 commands/tablecmds.c:14238 -#: commands/tablecmds.c:16798 +#: commands/tablecmds.c:291 commands/tablecmds.c:14223 +#: commands/tablecmds.c:16783 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "Fremdtabelle »%s« existiert nicht" @@ -10557,209 +10483,209 @@ msgstr "Fremdtabelle »%s« existiert nicht, wird übersprungen" msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Verwenden Sie DROP FOREIGN TABLE, um eine Fremdtabelle zu löschen." -#: commands/tablecmds.c:722 +#: commands/tablecmds.c:717 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT kann nur mit temporären Tabellen verwendet werden" -#: commands/tablecmds.c:753 +#: commands/tablecmds.c:748 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "kann temporäre Tabelle nicht in einer sicherheitsbeschränkten Operation erzeugen" -#: commands/tablecmds.c:789 commands/tablecmds.c:15657 +#: commands/tablecmds.c:784 commands/tablecmds.c:15642 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "von der Relation »%s« würde mehrmals geerbt werden" -#: commands/tablecmds.c:1055 +#: commands/tablecmds.c:1050 #, c-format msgid "\"%s\" is not partitioned" msgstr "»%s« ist nicht partitioniert" -#: commands/tablecmds.c:1149 +#: commands/tablecmds.c:1144 #, c-format msgid "cannot partition using more than %d columns" msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden" -#: commands/tablecmds.c:1205 +#: commands/tablecmds.c:1200 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen" -#: commands/tablecmds.c:1207 +#: commands/tablecmds.c:1202 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Tabelle »%s« enthält Unique Indexe." -#: commands/tablecmds.c:1326 commands/tablecmds.c:13254 +#: commands/tablecmds.c:1321 commands/tablecmds.c:13239 #, c-format msgid "too many array dimensions" msgstr "zu viele Array-Dimensionen" -#: commands/tablecmds.c:1331 parser/parse_clause.c:774 +#: commands/tablecmds.c:1326 parser/parse_clause.c:774 #: parser/parse_relation.c:1912 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "Spalte »%s« kann nicht als SETOF deklariert werden" -#: commands/tablecmds.c:1477 +#: commands/tablecmds.c:1472 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY unterstützt das Löschen von mehreren Objekten nicht" -#: commands/tablecmds.c:1481 +#: commands/tablecmds.c:1476 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE" -#: commands/tablecmds.c:1585 +#: commands/tablecmds.c:1580 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "kann partitionierten Index »%s« nicht nebenläufig löschen" -#: commands/tablecmds.c:1873 +#: commands/tablecmds.c:1868 #, c-format msgid "cannot truncate only a partitioned table" msgstr "kann nicht nur eine partitionierte Tabelle leeren" -#: commands/tablecmds.c:1874 +#: commands/tablecmds.c:1869 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Lassen Sie das Schlüsselwort ONLY weg oder wenden Sie TRUNCATE ONLY direkt auf die Partitionen an." -#: commands/tablecmds.c:1947 +#: commands/tablecmds.c:1942 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«" -#: commands/tablecmds.c:2308 +#: commands/tablecmds.c:2303 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht leeren" -#: commands/tablecmds.c:2365 +#: commands/tablecmds.c:2360 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren" -#: commands/tablecmds.c:2594 commands/tablecmds.c:15554 +#: commands/tablecmds.c:2589 commands/tablecmds.c:15539 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2599 +#: commands/tablecmds.c:2594 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "von Partition »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456 -#: parser/parse_utilcmd.c:2598 +#: commands/tablecmds.c:2602 parser/parse_utilcmd.c:2453 +#: parser/parse_utilcmd.c:2595 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "geerbte Relation »%s« ist keine Tabelle oder Fremdtabelle" -#: commands/tablecmds.c:2619 commands/tablecmds.c:20412 +#: commands/tablecmds.c:2614 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "eine temporäre Relation kann nicht als Partition der permanenten Relation »%s« erzeugt werden" -#: commands/tablecmds.c:2628 commands/tablecmds.c:15533 +#: commands/tablecmds.c:2623 commands/tablecmds.c:15518 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "von temporärer Relation »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2638 commands/tablecmds.c:15541 +#: commands/tablecmds.c:2633 commands/tablecmds.c:15526 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden" -#: commands/tablecmds.c:2779 commands/tablecmds.c:2833 -#: commands/tablecmds.c:12937 parser/parse_utilcmd.c:1240 -#: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710 -#: parser/parse_utilcmd.c:1818 +#: commands/tablecmds.c:2774 commands/tablecmds.c:2828 +#: commands/tablecmds.c:12922 parser/parse_utilcmd.c:1237 +#: parser/parse_utilcmd.c:1280 parser/parse_utilcmd.c:1707 +#: parser/parse_utilcmd.c:1815 #, c-format msgid "cannot convert whole-row table reference" msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln" -#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241 +#: commands/tablecmds.c:2775 parser/parse_utilcmd.c:1238 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Generierungsausdruck für Spalte »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«." -#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284 +#: commands/tablecmds.c:2829 parser/parse_utilcmd.c:1281 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Constraint »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«." -#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 +#: commands/tablecmds.c:2939 commands/tablecmds.c:3210 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "Spalte »%s« erbt von einer generierten Spalte aber hat einen Vorgabewert angegeben" -#: commands/tablecmds.c:2949 commands/tablecmds.c:3220 +#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "Spalte »%s« erbt von einer generierten Spalte aber ist als Identitätsspalte definiert" -#: commands/tablecmds.c:2957 commands/tablecmds.c:3228 +#: commands/tablecmds.c:2952 commands/tablecmds.c:3223 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "abgeleitete Spalte »%s« gibt einen Generierungsausdruck an" -#: commands/tablecmds.c:2959 commands/tablecmds.c:3230 +#: commands/tablecmds.c:2954 commands/tablecmds.c:3225 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "Eine Spalte einer abgeleiteten Tabelle kann nur generiert sein, wenn die Spalte in der Elterntabelle es auch ist." -#: commands/tablecmds.c:3005 +#: commands/tablecmds.c:3000 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "Spalte »%s« erbt widersprüchliche Generierungsausdrücke" -#: commands/tablecmds.c:3007 +#: commands/tablecmds.c:3002 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "Um den Konflikt zu lösen, geben Sie einen Generierungsausdruck ausdrücklich an." -#: commands/tablecmds.c:3011 +#: commands/tablecmds.c:3006 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte" -#: commands/tablecmds.c:3013 +#: commands/tablecmds.c:3008 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Um den Konflikt zu lösen, geben Sie einen Vorgabewert ausdrücklich an." -#: commands/tablecmds.c:3068 +#: commands/tablecmds.c:3063 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "Check-Constraint-Name »%s« erscheint mehrmals, aber mit unterschiedlichen Ausdrücken" -#: commands/tablecmds.c:3119 +#: commands/tablecmds.c:3114 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:3123 +#: commands/tablecmds.c:3118 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird verschoben und mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:3124 +#: commands/tablecmds.c:3119 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Benutzerdefinierte Spalte wurde auf die Position der geerbten Spalte verschoben." -#: commands/tablecmds.c:3136 +#: commands/tablecmds.c:3131 #, c-format msgid "column \"%s\" has a type conflict" msgstr "für Spalte »%s« besteht ein Typkonflikt" -#: commands/tablecmds.c:3138 commands/tablecmds.c:3172 -#: commands/tablecmds.c:3188 commands/tablecmds.c:3295 -#: commands/tablecmds.c:3328 commands/tablecmds.c:3344 +#: commands/tablecmds.c:3133 commands/tablecmds.c:3167 +#: commands/tablecmds.c:3183 commands/tablecmds.c:3290 +#: commands/tablecmds.c:3323 commands/tablecmds.c:3339 #: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 #: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 #: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 @@ -10770,1216 +10696,1203 @@ msgstr "für Spalte »%s« besteht ein Typkonflikt" msgid "%s versus %s" msgstr "%s gegen %s" -#: commands/tablecmds.c:3150 +#: commands/tablecmds.c:3145 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt" -#: commands/tablecmds.c:3152 commands/tablecmds.c:3314 -#: commands/tablecmds.c:7100 +#: commands/tablecmds.c:3147 commands/tablecmds.c:3309 +#: commands/tablecmds.c:7057 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "»%s« gegen »%s«" -#: commands/tablecmds.c:3170 +#: commands/tablecmds.c:3165 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "für Spalte »%s« besteht ein Konflikt bei einem Storage-Parameter" -#: commands/tablecmds.c:3186 commands/tablecmds.c:3342 +#: commands/tablecmds.c:3181 commands/tablecmds.c:3337 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "für Spalte »%s« besteht ein Komprimierungsmethodenkonflikt" -#: commands/tablecmds.c:3281 +#: commands/tablecmds.c:3276 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt" -#: commands/tablecmds.c:3293 +#: commands/tablecmds.c:3288 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "geerbte Spalte »%s« hat Typkonflikt" -#: commands/tablecmds.c:3312 +#: commands/tablecmds.c:3307 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt" -#: commands/tablecmds.c:3326 +#: commands/tablecmds.c:3321 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "geerbte Spalte »%s« hat einen Konflikt bei einem Storage-Parameter" -#: commands/tablecmds.c:3354 +#: commands/tablecmds.c:3349 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt" -#: commands/tablecmds.c:3585 +#: commands/tablecmds.c:3580 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden" -#: commands/tablecmds.c:3655 +#: commands/tablecmds.c:3650 #, c-format msgid "cannot rename column of typed table" msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden" -#: commands/tablecmds.c:3674 +#: commands/tablecmds.c:3669 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "Spalten von Relation »%s« können nicht umbenannt werden" -#: commands/tablecmds.c:3769 +#: commands/tablecmds.c:3764 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "vererbte Spalte »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden" -#: commands/tablecmds.c:3801 +#: commands/tablecmds.c:3796 #, c-format msgid "cannot rename system column \"%s\"" msgstr "Systemspalte »%s« kann nicht umbenannt werden" -#: commands/tablecmds.c:3816 +#: commands/tablecmds.c:3811 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht umbenennen" -#: commands/tablecmds.c:3968 +#: commands/tablecmds.c:3963 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "vererbter Constraint »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden" -#: commands/tablecmds.c:3975 +#: commands/tablecmds.c:3970 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "kann vererbten Constraint »%s« nicht umbenennen" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4272 +#: commands/tablecmds.c:4267 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "%s mit Relation »%s« nicht möglich, weil sie von aktiven Anfragen in dieser Sitzung verwendet wird" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4281 +#: commands/tablecmds.c:4276 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "%s mit Relation »%s« nicht möglich, weil es anstehende Trigger-Ereignisse dafür gibt" -#: commands/tablecmds.c:4307 +#: commands/tablecmds.c:4302 #, c-format msgid "cannot alter temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht ändern" -#: commands/tablecmds.c:4788 +#: commands/tablecmds.c:4775 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "kann Partition »%s« mit einer unvollständigen Abtrennoperation nicht ändern" -#: commands/tablecmds.c:4992 commands/tablecmds.c:5007 +#: commands/tablecmds.c:4979 commands/tablecmds.c:4994 #, c-format msgid "cannot change persistence setting twice" msgstr "Persistenzeinstellung kann nicht zweimal geändert werden" -#: commands/tablecmds.c:5028 +#: commands/tablecmds.c:5015 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "mehrere SET ACCESS METHOD Unterbefehle sind ungültig" -#: commands/tablecmds.c:5784 +#: commands/tablecmds.c:5745 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5790 +#: commands/tablecmds.c:5751 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "Tabelle »%s«, die als Katalogtabelle verwendet wird, kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5802 +#: commands/tablecmds.c:5763 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben" -#: commands/tablecmds.c:6297 +#: commands/tablecmds.c:6258 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte" -#: commands/tablecmds.c:6314 +#: commands/tablecmds.c:6275 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "Check-Constraint »%s« von Relation »%s« wird von irgendeiner Zeile verletzt" -#: commands/tablecmds.c:6333 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6294 partitioning/partbounds.c:3387 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« würde von irgendeiner Zeile verletzt werden" -#: commands/tablecmds.c:6339 +#: commands/tablecmds.c:6300 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6608 +#: commands/tablecmds.c:6565 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTER-Aktion %s kann nicht mit Relation »%s« ausgeführt werden" -#: commands/tablecmds.c:6863 commands/tablecmds.c:6870 +#: commands/tablecmds.c:6820 commands/tablecmds.c:6827 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "kann Typ »%s« nicht ändern, weil Spalte »%s.%s« ihn verwendet" -#: commands/tablecmds.c:6877 +#: commands/tablecmds.c:6834 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kann Fremdtabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet" -#: commands/tablecmds.c:6884 +#: commands/tablecmds.c:6841 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kann Tabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet" -#: commands/tablecmds.c:6940 +#: commands/tablecmds.c:6897 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist" -#: commands/tablecmds.c:6942 +#: commands/tablecmds.c:6899 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Verwenden Sie ALTER ... CASCADE, um die getypten Tabellen ebenfalls zu ändern." -#: commands/tablecmds.c:6988 +#: commands/tablecmds.c:6945 #, c-format msgid "type %s is not a composite type" msgstr "Typ %s ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:7015 +#: commands/tablecmds.c:6972 #, c-format msgid "cannot add column to typed table" msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:7063 +#: commands/tablecmds.c:7020 #, c-format msgid "cannot add column to a partition" msgstr "zu einer Partition kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:7092 commands/tablecmds.c:15772 +#: commands/tablecmds.c:7049 commands/tablecmds.c:15757 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:7098 commands/tablecmds.c:15778 +#: commands/tablecmds.c:7055 commands/tablecmds.c:15763 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Sortierfolge für Spalte »%s«" -#: commands/tablecmds.c:7116 +#: commands/tablecmds.c:7073 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "Definition von Spalte »%s« für abgeleitete Tabelle »%s« wird zusammengeführt" -#: commands/tablecmds.c:7169 +#: commands/tablecmds.c:7126 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "eine Identitätsspalte kann nicht rekursiv zu einer Tabelle hinzugefügt werden, die abgeleitete Tabellen hat" -#: commands/tablecmds.c:7382 +#: commands/tablecmds.c:7339 #, c-format msgid "column must be added to child tables too" msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden" -#: commands/tablecmds.c:7460 +#: commands/tablecmds.c:7417 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen" -#: commands/tablecmds.c:7467 +#: commands/tablecmds.c:7424 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "Spalte »%s« von Relation »%s« existiert bereits" -#: commands/tablecmds.c:7533 commands/tablecmds.c:12576 +#: commands/tablecmds.c:7490 commands/tablecmds.c:12550 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "Constraint kann nicht nur von der partitionierten Tabelle entfernt werden, wenn Partitionen existieren" -#: commands/tablecmds.c:7534 commands/tablecmds.c:7848 -#: commands/tablecmds.c:8026 commands/tablecmds.c:8133 -#: commands/tablecmds.c:8250 commands/tablecmds.c:9069 -#: commands/tablecmds.c:12577 +#: commands/tablecmds.c:7491 commands/tablecmds.c:7805 +#: commands/tablecmds.c:7983 commands/tablecmds.c:8090 +#: commands/tablecmds.c:8207 commands/tablecmds.c:9026 +#: commands/tablecmds.c:12551 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Lassen Sie das Schlüsselwort ONLY weg." -#: commands/tablecmds.c:7570 commands/tablecmds.c:7774 -#: commands/tablecmds.c:7916 commands/tablecmds.c:8048 -#: commands/tablecmds.c:8177 commands/tablecmds.c:8271 -#: commands/tablecmds.c:8372 commands/tablecmds.c:8529 -#: commands/tablecmds.c:8682 commands/tablecmds.c:8763 -#: commands/tablecmds.c:8897 commands/tablecmds.c:12730 -#: commands/tablecmds.c:14261 commands/tablecmds.c:16887 +#: commands/tablecmds.c:7527 commands/tablecmds.c:7731 +#: commands/tablecmds.c:7873 commands/tablecmds.c:8005 +#: commands/tablecmds.c:8134 commands/tablecmds.c:8228 +#: commands/tablecmds.c:8329 commands/tablecmds.c:8486 +#: commands/tablecmds.c:8639 commands/tablecmds.c:8720 +#: commands/tablecmds.c:8854 commands/tablecmds.c:12704 +#: commands/tablecmds.c:14246 commands/tablecmds.c:16872 #, c-format msgid "cannot alter system column \"%s\"" msgstr "Systemspalte »%s« kann nicht geändert werden" -#: commands/tablecmds.c:7576 commands/tablecmds.c:7922 +#: commands/tablecmds.c:7533 commands/tablecmds.c:7879 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "Spalte »%s« von Relation »%s« ist eine Identitätsspalte" -#: commands/tablecmds.c:7617 +#: commands/tablecmds.c:7574 #, c-format msgid "column \"%s\" is in a primary key" msgstr "Spalte »%s« ist in einem Primärschlüssel" -#: commands/tablecmds.c:7622 +#: commands/tablecmds.c:7579 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird" -#: commands/tablecmds.c:7645 +#: commands/tablecmds.c:7602 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert" -#: commands/tablecmds.c:7845 commands/tablecmds.c:9553 +#: commands/tablecmds.c:7802 commands/tablecmds.c:9510 #, c-format msgid "constraint must be added to child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden" -#: commands/tablecmds.c:7846 +#: commands/tablecmds.c:7803 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL." -#: commands/tablecmds.c:7931 +#: commands/tablecmds.c:7888 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte" -#: commands/tablecmds.c:8025 -#, fuzzy, c-format -#| msgid "cannot drop column from only the partitioned table when partitions exist" +#: commands/tablecmds.c:7982 +#, c-format msgid "cannot add identity to a column of only the partitioned table" -msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" +msgstr "Identität kann nicht einer Spalte nur in der partitionierten Tabelle hinzugefügt werden" -#: commands/tablecmds.c:8031 +#: commands/tablecmds.c:7988 #, c-format msgid "cannot add identity to a column of a partition" msgstr "zu einer Spalte einer Partition kann keine Identität hinzugefügt werden" -#: commands/tablecmds.c:8059 +#: commands/tablecmds.c:8016 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "Spalte »%s« von Relation »%s« muss als NOT NULL deklariert werden, bevor Sie Identitätsspalte werden kann" -#: commands/tablecmds.c:8065 +#: commands/tablecmds.c:8022 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "Spalte »%s« von Relation »%s« ist bereits eine Identitätsspalte" -#: commands/tablecmds.c:8071 +#: commands/tablecmds.c:8028 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "Spalte »%s« von Relation »%s« hat bereits einen Vorgabewert" -#: commands/tablecmds.c:8132 -#, fuzzy, c-format -#| msgid "cannot change inheritance of partitioned table" +#: commands/tablecmds.c:8089 +#, c-format msgid "cannot change identity column of only the partitioned table" -msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden" +msgstr "Identitätsspalte kann nicht nur in der partitionierten Tabelle geändert werden" -#: commands/tablecmds.c:8138 +#: commands/tablecmds.c:8095 #, c-format msgid "cannot change identity column of a partition" msgstr "Identitätsspalte einer Partition kann nicht geändert werden" -#: commands/tablecmds.c:8183 commands/tablecmds.c:8279 +#: commands/tablecmds.c:8140 commands/tablecmds.c:8236 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte" -#: commands/tablecmds.c:8249 -#, fuzzy, c-format -#| msgid "cannot drop column from only the partitioned table when partitions exist" +#: commands/tablecmds.c:8206 +#, c-format msgid "cannot drop identity from a column of only the partitioned table" -msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" +msgstr "Identität kann nicht von einer Spalte nur in der partitionierten Tabelle gelöscht werden" -#: commands/tablecmds.c:8255 -#, fuzzy, c-format -#| msgid "cannot add column to a partition" +#: commands/tablecmds.c:8212 +#, c-format msgid "cannot drop identity from a column of a partition" -msgstr "zu einer Partition kann keine Spalte hinzugefügt werden" +msgstr "Identität kann nicht von einer Spalte einer Partition gelöscht werden" -#: commands/tablecmds.c:8284 +#: commands/tablecmds.c:8241 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte, wird übersprungen" -#: commands/tablecmds.c:8378 +#: commands/tablecmds.c:8335 #, c-format msgid "column \"%s\" of relation \"%s\" is not a generated column" msgstr "Spalte »%s« von Relation »%s« ist keine generierte Spalte" -#: commands/tablecmds.c:8476 +#: commands/tablecmds.c:8433 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden" -#: commands/tablecmds.c:8498 +#: commands/tablecmds.c:8455 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden" -#: commands/tablecmds.c:8537 +#: commands/tablecmds.c:8494 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte" -#: commands/tablecmds.c:8542 +#: commands/tablecmds.c:8499 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte, wird übersprungen" -#: commands/tablecmds.c:8620 +#: commands/tablecmds.c:8577 #, c-format msgid "cannot refer to non-index column by number" msgstr "auf eine Nicht-Index-Spalte kann nicht per Nummer verwiesen werden" -#: commands/tablecmds.c:8672 +#: commands/tablecmds.c:8629 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "Spalte Nummer %d von Relation »%s« existiert nicht" -#: commands/tablecmds.c:8691 +#: commands/tablecmds.c:8648 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden" -#: commands/tablecmds.c:8696 +#: commands/tablecmds.c:8653 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "kann Statistiken von Spalte »%s« von Index »%s«, welche kein Ausdruck ist, nicht ändern" -#: commands/tablecmds.c:8698 +#: commands/tablecmds.c:8655 #, c-format msgid "Alter statistics on table column instead." msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte." -#: commands/tablecmds.c:8944 +#: commands/tablecmds.c:8901 #, c-format msgid "cannot drop column from typed table" msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden" -#: commands/tablecmds.c:9007 +#: commands/tablecmds.c:8964 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Spalte »%s« von Relation »%s« existiert nicht, wird übersprungen" -#: commands/tablecmds.c:9020 +#: commands/tablecmds.c:8977 #, c-format msgid "cannot drop system column \"%s\"" msgstr "Systemspalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:9030 +#: commands/tablecmds.c:8987 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "geerbte Spalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:9043 +#: commands/tablecmds.c:9000 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "Spalte »%s« kann nicht gelöscht werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist" -#: commands/tablecmds.c:9068 +#: commands/tablecmds.c:9025 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" -#: commands/tablecmds.c:9273 +#: commands/tablecmds.c:9230 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX wird für partitionierte Tabellen nicht unterstützt" -#: commands/tablecmds.c:9298 +#: commands/tablecmds.c:9255 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index »%s« um in »%s«" -#: commands/tablecmds.c:9635 +#: commands/tablecmds.c:9592 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "ONLY nicht möglich für Fremdschlüssel für partitionierte Tabelle »%s« verweisend auf Relation »%s«" -#: commands/tablecmds.c:9641 +#: commands/tablecmds.c:9598 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "Hinzufügen von Fremdschlüssel mit NOT VALID nicht möglich für partitionierte Tabelle »%s« verweisend auf Relation »%s«" -#: commands/tablecmds.c:9644 +#: commands/tablecmds.c:9601 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt." -#: commands/tablecmds.c:9651 commands/tablecmds.c:10107 +#: commands/tablecmds.c:9608 commands/tablecmds.c:10064 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle" -#: commands/tablecmds.c:9674 +#: commands/tablecmds.c:9631 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "Constraints für permanente Tabellen dürfen nur auf permanente Tabellen verweisen" -#: commands/tablecmds.c:9681 +#: commands/tablecmds.c:9638 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "Constraints für ungeloggte Tabellen dürfen nur auf permanente oder ungeloggte Tabellen verweisen" -#: commands/tablecmds.c:9687 +#: commands/tablecmds.c:9644 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "Constraints für temporäre Tabellen dürfen nur auf temporäre Tabellen verweisen" -#: commands/tablecmds.c:9691 +#: commands/tablecmds.c:9648 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "Constraints für temporäre Tabellen müssen temporäre Tabellen dieser Sitzung beinhalten" -#: commands/tablecmds.c:9755 commands/tablecmds.c:9761 +#: commands/tablecmds.c:9712 commands/tablecmds.c:9718 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält" -#: commands/tablecmds.c:9777 +#: commands/tablecmds.c:9734 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "Anzahl der Quell- und Zielspalten im Fremdschlüssel stimmt nicht überein" -#: commands/tablecmds.c:9884 +#: commands/tablecmds.c:9841 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden" -#: commands/tablecmds.c:9886 +#: commands/tablecmds.c:9843 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Schlüsselspalten »%s« und »%s« haben inkompatible Typen: %s und %s." -#: commands/tablecmds.c:10043 +#: commands/tablecmds.c:10000 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "Spalte »%s«, auf die in der ON-DELETE-SET-Aktion verwiesen wird, muss Teil des Fremdschlüssels sein" -#: commands/tablecmds.c:10317 commands/tablecmds.c:10787 -#: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:10274 commands/tablecmds.c:10761 +#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:917 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt" -#: commands/tablecmds.c:11340 commands/tablecmds.c:11621 -#: commands/tablecmds.c:12533 commands/tablecmds.c:12607 +#: commands/tablecmds.c:10744 +#, c-format +msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"" +msgstr "kann Tabelle »%s« nicht als Partition anfügen, weil auf sie von Fremdschlüssel »%s« verwiesen wird" + +#: commands/tablecmds.c:11314 commands/tablecmds.c:11595 +#: commands/tablecmds.c:12507 commands/tablecmds.c:12581 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "Constraint »%s« von Relation »%s« existiert nicht" -#: commands/tablecmds.c:11347 +#: commands/tablecmds.c:11321 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel-Constraint" -#: commands/tablecmds.c:11385 +#: commands/tablecmds.c:11359 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:11388 +#: commands/tablecmds.c:11362 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Constraint »%s« ist von Constraint »%s« von Relation »%s« abgeleitet." -#: commands/tablecmds.c:11390 +#: commands/tablecmds.c:11364 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Sie können stattdessen den Constraint, von dem er abgeleitet ist, ändern." -#: commands/tablecmds.c:11629 +#: commands/tablecmds.c:11603 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel- oder Check-Constraint" -#: commands/tablecmds.c:11706 +#: commands/tablecmds.c:11680 #, c-format msgid "constraint must be validated on child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden" -#: commands/tablecmds.c:11793 +#: commands/tablecmds.c:11767 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "Spalte »%s«, die im Fremdschlüssel verwendet wird, existiert nicht" -#: commands/tablecmds.c:11799 +#: commands/tablecmds.c:11773 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "Systemspalten können nicht in Fremdschlüsseln verwendet werden" -#: commands/tablecmds.c:11803 +#: commands/tablecmds.c:11777 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "Fremdschlüssel kann nicht mehr als %d Schlüssel haben" -#: commands/tablecmds.c:11868 +#: commands/tablecmds.c:11842 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "aufschiebbarer Primärschlüssel kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden" -#: commands/tablecmds.c:11885 +#: commands/tablecmds.c:11859 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Primärschlüssel" -#: commands/tablecmds.c:11953 +#: commands/tablecmds.c:11927 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "die Liste der Spalten, auf die ein Fremdschlüssel verweist, darf keine doppelten Einträge enthalten" -#: commands/tablecmds.c:12045 +#: commands/tablecmds.c:12019 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden" -#: commands/tablecmds.c:12050 +#: commands/tablecmds.c:12024 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Unique-Constraint, der auf die angegebenen Schlüssel passt" -#: commands/tablecmds.c:12489 +#: commands/tablecmds.c:12463 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "geerbter Constraint »%s« von Relation »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:12539 +#: commands/tablecmds.c:12513 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Constraint »%s« von Relation »%s« existiert nicht, wird übersprungen" -#: commands/tablecmds.c:12714 +#: commands/tablecmds.c:12688 #, c-format msgid "cannot alter column type of typed table" msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:12741 +#: commands/tablecmds.c:12714 +#, c-format +msgid "cannot specify USING when altering type of generated column" +msgstr "USING kann nicht angegeben werden, wenn der Typ einer generierten Spalte geändert wird" + +#: commands/tablecmds.c:12715 commands/tablecmds.c:17918 +#: commands/tablecmds.c:18008 commands/trigger.c:656 +#: rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Spalte »%s« ist eine generierte Spalte." + +#: commands/tablecmds.c:12725 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht ändern" -#: commands/tablecmds.c:12750 +#: commands/tablecmds.c:12734 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "Spalte »%s« kann nicht geändert werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist" -#: commands/tablecmds.c:12800 +#: commands/tablecmds.c:12784 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "Ergebnis der USING-Klausel für Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:12803 +#: commands/tablecmds.c:12787 #, c-format msgid "You might need to add an explicit cast." msgstr "Sie müssen möglicherweise eine ausdrückliche Typumwandlung hinzufügen." -#: commands/tablecmds.c:12807 +#: commands/tablecmds.c:12791 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12810 +#: commands/tablecmds.c:12795 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Sie müssen möglicherweise »USING %s::%s« angeben." -#: commands/tablecmds.c:12909 +#: commands/tablecmds.c:12894 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:12938 +#: commands/tablecmds.c:12923 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle." -#: commands/tablecmds.c:12949 +#: commands/tablecmds.c:12934 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "Typ der vererbten Spalte »%s« muss ebenso in den abgeleiteten Tabellen geändert werden" -#: commands/tablecmds.c:13074 +#: commands/tablecmds.c:13059 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden" -#: commands/tablecmds.c:13112 +#: commands/tablecmds.c:13097 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "Generierungsausdruck der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:13117 +#: commands/tablecmds.c:13102 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "Vorgabewert der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:13421 +#: commands/tablecmds.c:13406 #, c-format msgid "cannot alter type of a column used by a function or procedure" msgstr "Typ einer Spalte, die von einer Funktion oder Prozedur verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13422 commands/tablecmds.c:13437 -#: commands/tablecmds.c:13457 commands/tablecmds.c:13476 -#: commands/tablecmds.c:13535 +#: commands/tablecmds.c:13407 commands/tablecmds.c:13422 +#: commands/tablecmds.c:13442 commands/tablecmds.c:13461 +#: commands/tablecmds.c:13520 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s hängt von Spalte »%s« ab" -#: commands/tablecmds.c:13436 +#: commands/tablecmds.c:13421 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13456 +#: commands/tablecmds.c:13441 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13475 +#: commands/tablecmds.c:13460 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "Typ einer Spalte, die in einer Policy-Definition verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13506 +#: commands/tablecmds.c:13491 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13507 +#: commands/tablecmds.c:13492 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet." -#: commands/tablecmds.c:13534 +#: commands/tablecmds.c:13519 #, c-format msgid "cannot alter type of a column used by a publication WHERE clause" msgstr "Typ einer Spalte, die in der WHERE-Klausel einer Publikation verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:14369 commands/tablecmds.c:14381 +#: commands/tablecmds.c:14354 commands/tablecmds.c:14366 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "kann Eigentümer des Index »%s« nicht ändern" -#: commands/tablecmds.c:14371 commands/tablecmds.c:14383 +#: commands/tablecmds.c:14356 commands/tablecmds.c:14368 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index." -#: commands/tablecmds.c:14397 +#: commands/tablecmds.c:14382 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "kann Eigentümer der Sequenz »%s« nicht ändern" -#: commands/tablecmds.c:14422 +#: commands/tablecmds.c:14407 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "kann Eigentümer der Relation »%s« nicht ändern" -#: commands/tablecmds.c:14889 +#: commands/tablecmds.c:14874 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig" -#: commands/tablecmds.c:14966 +#: commands/tablecmds.c:14951 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "für Relation »%s« können keine Optionen gesetzt werden" -#: commands/tablecmds.c:15000 commands/view.c:440 +#: commands/tablecmds.c:14985 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION wird nur für automatisch aktualisierbare Sichten unterstützt" -#: commands/tablecmds.c:15250 +#: commands/tablecmds.c:15235 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "nur Tabellen, Indexe und materialisierte Sichten existieren in Tablespaces" -#: commands/tablecmds.c:15262 +#: commands/tablecmds.c:15247 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "Relationen können nicht in den oder aus dem Tablespace »pg_global« verschoben werden" -#: commands/tablecmds.c:15354 +#: commands/tablecmds.c:15339 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "Abbruch weil Sperre für Relation »%s.%s« nicht verfügbar ist" -#: commands/tablecmds.c:15370 +#: commands/tablecmds.c:15355 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "keine passenden Relationen in Tablespace »%s« gefunden" -#: commands/tablecmds.c:15492 +#: commands/tablecmds.c:15477 #, c-format msgid "cannot change inheritance of typed table" msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:15497 commands/tablecmds.c:15997 +#: commands/tablecmds.c:15482 commands/tablecmds.c:15982 #, c-format msgid "cannot change inheritance of a partition" msgstr "Vererbung einer Partition kann nicht geändert werden" -#: commands/tablecmds.c:15502 +#: commands/tablecmds.c:15487 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:15548 +#: commands/tablecmds.c:15533 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden" -#: commands/tablecmds.c:15561 +#: commands/tablecmds.c:15546 #, c-format msgid "cannot inherit from a partition" msgstr "von einer Partition kann nicht geerbt werden" -#: commands/tablecmds.c:15583 commands/tablecmds.c:18465 +#: commands/tablecmds.c:15568 commands/tablecmds.c:18419 #, c-format msgid "circular inheritance not allowed" msgstr "zirkuläre Vererbung ist nicht erlaubt" -#: commands/tablecmds.c:15584 commands/tablecmds.c:18466 +#: commands/tablecmds.c:15569 commands/tablecmds.c:18420 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "»%s« ist schon von »%s« abgeleitet." -#: commands/tablecmds.c:15597 +#: commands/tablecmds.c:15582 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "Trigger »%s« verhindert, dass Tabelle »%s« ein Vererbungskind werden kann" -#: commands/tablecmds.c:15599 +#: commands/tablecmds.c:15584 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "ROW-Trigger mit Übergangstabellen werden in Vererbungshierarchien nicht unterstützt." -#: commands/tablecmds.c:15788 +#: commands/tablecmds.c:15773 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein" -#: commands/tablecmds.c:15797 +#: commands/tablecmds.c:15782 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "Spalte »%s« in abgeleiteter Tabelle muss eine generierte Spalte sein" -#: commands/tablecmds.c:15801 +#: commands/tablecmds.c:15786 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "Spalte »%s« in abgeleiteter Tabelle darf keine generierte Spalte sein" -#: commands/tablecmds.c:15839 +#: commands/tablecmds.c:15824 #, c-format msgid "child table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:15920 +#: commands/tablecmds.c:15905 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Definition für Check-Constraint »%s«" -#: commands/tablecmds.c:15927 +#: commands/tablecmds.c:15912 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für abgeleitete Tabelle »%s«" -#: commands/tablecmds.c:15937 +#: commands/tablecmds.c:15922 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für abgeleitete Tabelle »%s«" -#: commands/tablecmds.c:15975 +#: commands/tablecmds.c:15960 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:16061 +#: commands/tablecmds.c:16046 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "Partition »%s« hat schon eine unerledigte Abtrennoperation in der partitionierten Tabelle »%s.%s«" -#: commands/tablecmds.c:16090 commands/tablecmds.c:16136 -#: parser/parse_utilcmd.c:3261 +#: commands/tablecmds.c:16075 commands/tablecmds.c:16121 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "Relation »%s« ist keine Partition von Relation »%s«" -#: commands/tablecmds.c:16142 +#: commands/tablecmds.c:16127 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«" -#: commands/tablecmds.c:16369 +#: commands/tablecmds.c:16354 #, c-format msgid "typed tables cannot inherit" msgstr "getypte Tabellen können nicht erben" -#: commands/tablecmds.c:16399 +#: commands/tablecmds.c:16384 #, c-format msgid "table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in Tabelle" -#: commands/tablecmds.c:16410 +#: commands/tablecmds.c:16395 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«" -#: commands/tablecmds.c:16419 +#: commands/tablecmds.c:16404 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:16433 +#: commands/tablecmds.c:16418 #, c-format msgid "table has extra column \"%s\"" msgstr "Tabelle hat zusätzliche Spalte »%s«" -#: commands/tablecmds.c:16485 +#: commands/tablecmds.c:16470 #, c-format msgid "\"%s\" is not a typed table" msgstr "»%s« ist keine getypte Tabelle" -#: commands/tablecmds.c:16659 +#: commands/tablecmds.c:16644 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "nicht eindeutiger Index »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16665 +#: commands/tablecmds.c:16650 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil er nicht IMMEDIATE ist" -#: commands/tablecmds.c:16671 +#: commands/tablecmds.c:16656 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "Ausdrucksindex »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16677 +#: commands/tablecmds.c:16662 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "partieller Index »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16694 +#: commands/tablecmds.c:16679 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte %d eine Systemspalte ist" -#: commands/tablecmds.c:16701 +#: commands/tablecmds.c:16686 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte »%s« NULL-Werte akzeptiert" -#: commands/tablecmds.c:16953 +#: commands/tablecmds.c:16938 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "kann den geloggten Status der Tabelle »%s« nicht ändern, weil sie temporär ist" -#: commands/tablecmds.c:16977 +#: commands/tablecmds.c:16962 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "kann Tabelle »%s« nicht in ungeloggt ändern, weil sie Teil einer Publikation ist" -#: commands/tablecmds.c:16979 +#: commands/tablecmds.c:16964 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ungeloggte Relationen können nicht repliziert werden." -#: commands/tablecmds.c:17024 +#: commands/tablecmds.c:17009 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "konnte Tabelle »%s« nicht in geloggt ändern, weil sie auf die ungeloggte Tabelle »%s« verweist" -#: commands/tablecmds.c:17034 +#: commands/tablecmds.c:17019 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "konnte Tabelle »%s« nicht in ungeloggt ändern, weil sie auf die geloggte Tabelle »%s« verweist" -#: commands/tablecmds.c:17092 +#: commands/tablecmds.c:17077 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "einer Tabelle zugeordnete Sequenz kann nicht in ein anderes Schema verschoben werden" -#: commands/tablecmds.c:17197 +#: commands/tablecmds.c:17182 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "Relation »%s« existiert bereits in Schema »%s«" -#: commands/tablecmds.c:17618 +#: commands/tablecmds.c:17603 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "»%s« ist keine Tabelle oder materialisierte Sicht" -#: commands/tablecmds.c:17771 +#: commands/tablecmds.c:17756 #, c-format msgid "\"%s\" is not a composite type" msgstr "»%s« ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:17801 +#: commands/tablecmds.c:17786 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "kann Schema des Index »%s« nicht ändern" -#: commands/tablecmds.c:17803 commands/tablecmds.c:17817 +#: commands/tablecmds.c:17788 commands/tablecmds.c:17802 #, c-format msgid "Change the schema of the table instead." msgstr "Ändern Sie stattdessen das Schema der Tabelle." -#: commands/tablecmds.c:17807 +#: commands/tablecmds.c:17792 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "kann Schema des zusammengesetzten Typs »%s« nicht ändern" -#: commands/tablecmds.c:17815 +#: commands/tablecmds.c:17800 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "kann Schema der TOAST-Tabelle »%s« nicht ändern" -#: commands/tablecmds.c:17847 +#: commands/tablecmds.c:17832 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "Partitionierungsstrategie »list« kann nicht mit mehr als einer Spalte verwendet werden" -#: commands/tablecmds.c:17913 +#: commands/tablecmds.c:17898 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht" -#: commands/tablecmds.c:17921 +#: commands/tablecmds.c:17906 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17932 commands/tablecmds.c:18022 +#: commands/tablecmds.c:17917 commands/tablecmds.c:18007 #, c-format msgid "cannot use generated column in partition key" msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17933 commands/tablecmds.c:18023 commands/trigger.c:656 -#: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Spalte »%s« ist eine generierte Spalte." - -#: commands/tablecmds.c:18005 +#: commands/tablecmds.c:17990 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen" -#: commands/tablecmds.c:18052 +#: commands/tablecmds.c:18037 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein" -#: commands/tablecmds.c:18061 +#: commands/tablecmds.c:18046 #, c-format msgid "cannot use constant expression as partition key" msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein" -#: commands/tablecmds.c:18082 +#: commands/tablecmds.c:18067 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "konnte die für den Partitionierungsausdruck zu verwendende Sortierfolge nicht bestimmen" -#: commands/tablecmds.c:18117 +#: commands/tablecmds.c:18102 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Sie müssen eine hash-Operatorklasse angeben oder eine hash-Standardoperatorklasse für den Datentyp definieren." -#: commands/tablecmds.c:18123 +#: commands/tablecmds.c:18108 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren." -#: commands/tablecmds.c:18405 +#: commands/tablecmds.c:18359 #, c-format msgid "\"%s\" is already a partition" msgstr "»%s« ist bereits eine Partition" -#: commands/tablecmds.c:18411 +#: commands/tablecmds.c:18365 #, c-format msgid "cannot attach a typed table as partition" msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18427 +#: commands/tablecmds.c:18381 #, c-format msgid "cannot attach inheritance child as partition" msgstr "ein Vererbungskind kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18441 +#: commands/tablecmds.c:18395 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18475 +#: commands/tablecmds.c:18429 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "eine temporäre Relation kann nicht als Partition an permanente Relation »%s« angefügt werden" -#: commands/tablecmds.c:18483 +#: commands/tablecmds.c:18437 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden" -#: commands/tablecmds.c:18491 +#: commands/tablecmds.c:18445 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen" -#: commands/tablecmds.c:18498 +#: commands/tablecmds.c:18452 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18518 -#, fuzzy, c-format -#| msgid "table \"%s\" has different type for column \"%s\"" +#: commands/tablecmds.c:18472 +#, c-format msgid "table \"%s\" being attached contains an identity column \"%s\"" -msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" +msgstr "anzufügende Tabelle »%s« enthält eine Identitätsspalte »%s«" -#: commands/tablecmds.c:18520 -#, fuzzy, c-format -#| msgid "The new partition may contain only the columns present in parent." +#: commands/tablecmds.c:18474 +#, c-format msgid "The new partition may not contain an identity column." -msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat." +msgstr "Die neue Partition darf keine Identitätsspalte enthalten." -#: commands/tablecmds.c:18528 +#: commands/tablecmds.c:18482 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde" -#: commands/tablecmds.c:18531 +#: commands/tablecmds.c:18485 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat." -#: commands/tablecmds.c:18543 +#: commands/tablecmds.c:18497 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann" -#: commands/tablecmds.c:18545 +#: commands/tablecmds.c:18499 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "ROW-Trigger mit Übergangstabellen werden für Partitionen nicht unterstützt." -#: commands/tablecmds.c:18706 +#: commands/tablecmds.c:18675 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht als Partition an partitionierte Tabelle »%s« anfügen" -#: commands/tablecmds.c:18709 +#: commands/tablecmds.c:18678 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe." -#: commands/tablecmds.c:19031 +#: commands/tablecmds.c:19000 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "nebenläufiges Abtrennen einer Partition ist nicht möglich, wenn eine Standardpartition existiert" -#: commands/tablecmds.c:19140 +#: commands/tablecmds.c:19109 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:19146 +#: commands/tablecmds.c:19115 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "Partition »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:19682 commands/tablecmds.c:19702 -#: commands/tablecmds.c:19723 commands/tablecmds.c:19742 -#: commands/tablecmds.c:19784 +#: commands/tablecmds.c:19651 commands/tablecmds.c:19671 +#: commands/tablecmds.c:19692 commands/tablecmds.c:19711 +#: commands/tablecmds.c:19753 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "kann Index »%s« nicht als Partition an Index »%s« anfügen" -#: commands/tablecmds.c:19685 +#: commands/tablecmds.c:19654 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Index »%s« ist bereits an einen anderen Index angefügt." -#: commands/tablecmds.c:19705 +#: commands/tablecmds.c:19674 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Index »%s« ist kein Index irgendeiner Partition von Tabelle »%s«." -#: commands/tablecmds.c:19726 +#: commands/tablecmds.c:19695 #, c-format msgid "The index definitions do not match." msgstr "Die Indexdefinitionen stimmen nicht überein." -#: commands/tablecmds.c:19745 +#: commands/tablecmds.c:19714 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Der Index »%s« gehört zu einem Constraint in Tabelle »%s«, aber kein Constraint existiert für Index »%s«." -#: commands/tablecmds.c:19787 +#: commands/tablecmds.c:19756 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt." -#: commands/tablecmds.c:20023 +#: commands/tablecmds.c:19992 #, c-format msgid "column data type %s does not support compression" msgstr "Spaltendatentyp %s unterstützt keine Komprimierung" -#: commands/tablecmds.c:20030 +#: commands/tablecmds.c:19999 #, c-format msgid "invalid compression method \"%s\"" msgstr "ungültige Komprimierungsmethode »%s«" -#: commands/tablecmds.c:20056 +#: commands/tablecmds.c:20025 #, c-format msgid "invalid storage type \"%s\"" msgstr "ungültiger Storage-Typ »%s«" -#: commands/tablecmds.c:20066 +#: commands/tablecmds.c:20035 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN" -#: commands/tablecmds.c:20263 -#, fuzzy, c-format -#| msgid "cannot inherit from a partition" -msgid "can not find partition for split partition row" -msgstr "von einer Partition kann nicht geerbt werden" - -#: commands/tablecmds.c:20349 -#, fuzzy, c-format -#| msgid "cannot attach as partition of temporary relation of another session" -msgid "cannot create as partition of temporary relation of another session" -msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen" - -#: commands/tablecmds.c:20420 -#, c-format -msgid "cannot create a permanent relation as partition of temporary relation \"%s\"" -msgstr "eine permanente Relation kann nicht als Partition der temporären Relation »%s« erzeugt werden" - #: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" @@ -12850,8 +12763,8 @@ msgstr "Nur Rollen mit dem %s-Attribut können Rollen erzeugen." msgid "Only roles with the %s attribute may create roles with the %s attribute." msgstr "Nur Rollen mit dem %s-Attribut können Rollen mit dem %s-Attribut erzeugen." -#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17355 -#: gram.y:17401 utils/adt/acl.c:5574 utils/adt/acl.c:5580 +#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17303 +#: gram.y:17349 utils/adt/acl.c:5574 utils/adt/acl.c:5580 #, c-format msgid "role name \"%s\" is reserved" msgstr "Rollenname »%s« ist reserviert" @@ -13013,7 +12926,7 @@ msgstr "Nur Rollen mit dem %s-Attribut und der %s-Option für Rolle »%s« könn msgid "MD5 password cleared because of role rename" msgstr "MD5-Passwort wegen Rollenumbenennung gelöscht" -#: commands/user.c:1518 gram.y:1297 +#: commands/user.c:1518 gram.y:1294 #, c-format msgid "unrecognized role option \"%s\"" msgstr "unbekannte Rollenoption »%s«" @@ -13408,10 +13321,9 @@ msgid "cannot change \"client_encoding\" during a parallel operation" msgstr "»client_encoding« kann nicht während einer parallelen Operation geändert werden" #: commands/variable.c:863 -#, fuzzy, c-format -#| msgid "permission denied to set session authorization" +#, c-format msgid "permission will be denied to set session authorization \"%s\"" -msgstr "keine Berechtigung, um Sitzungsautorisierung zu setzen" +msgstr "es wird keine Berechtigung gegeben werden, um Sitzungsautorisierung »%s« zu setzen" #: commands/variable.c:868 #, c-format @@ -13545,8 +13457,8 @@ msgid "no value found for parameter %d" msgstr "kein Wert für Parameter %d gefunden" #: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 -#: executor/execExprInterp.c:4834 executor/execExprInterp.c:4851 -#: executor/execExprInterp.c:4950 executor/nodeModifyTable.c:203 +#: executor/execExprInterp.c:4838 executor/execExprInterp.c:4855 +#: executor/execExprInterp.c:4954 executor/nodeModifyTable.c:203 #: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 #: executor/nodeModifyTable.c:239 #, c-format @@ -13563,7 +13475,7 @@ msgstr "Anfrage hat zu viele Spalten." msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d." -#: executor/execExpr.c:656 executor/execExprInterp.c:4852 +#: executor/execExpr.c:656 executor/execExprInterp.c:4856 #: executor/nodeModifyTable.c:215 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." @@ -13693,31 +13605,27 @@ msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«" #: executor/execExprInterp.c:4434 #, c-format msgid "no SQL/JSON item found for specified path of column \"%s\"" -msgstr "" +msgstr "kein SQL/JSON-Item für angegebenen Pfad von Spalte »%s« gefunden" #: executor/execExprInterp.c:4439 #, c-format msgid "no SQL/JSON item found for specified path" -msgstr "" - -#: executor/execExprInterp.c:4637 -#, c-format -msgid "could not coerce ON ERROR expression (%s) to the RETURNING type" -msgstr "" +msgstr "kein SQL/JSON-Item für angegebenen Pfad gefunden" -#: executor/execExprInterp.c:4643 +#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR) +#: executor/execExprInterp.c:4638 executor/execExprInterp.c:4646 #, c-format -msgid "could not coerce ON EMPTY expression (%s) to the RETURNING type" -msgstr "" +msgid "could not coerce %s expression (%s) to the RETURNING type" +msgstr "konnte %s-Ausdruck (%s) nicht in RETURNING-Typ umwandeln" -#: executor/execExprInterp.c:4835 +#: executor/execExprInterp.c:4839 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." msgstr[0] "Tabellenzeile enthält %d Attribut, aber Anfrage erwartet %d." msgstr[1] "Tabellenzeile enthält %d Attribute, aber Anfrage erwartet %d." -#: executor/execExprInterp.c:4951 executor/execSRF.c:977 +#: executor/execExprInterp.c:4955 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "Physischer Speicher stimmt nicht überein mit gelöschtem Attribut auf Position %d." @@ -14024,13 +13932,12 @@ msgstr "Systemspalte kann in diesem Kontext nicht ausgelesen werden" #: executor/execTuples.c:163 executor/execTuples.c:580 #, c-format msgid "don't have transaction information for this type of tuple" -msgstr "" +msgstr "dieser Tupeltyp hat keine Transaktionsinformationen" #: executor/execTuples.c:390 executor/execTuples.c:794 -#, fuzzy, c-format -#| msgid "cannot retrieve a system column in this context" +#, c-format msgid "don't have a storage tuple in this context" -msgstr "Systemspalte kann in diesem Kontext nicht ausgelesen werden" +msgstr "in diesem Kontext gibt es kein zu speicherndes Tupel" #: executor/execUtils.c:713 #, c-format @@ -14059,7 +13966,7 @@ msgid "%s is not allowed in an SQL function" msgstr "%s ist in SQL-Funktionen nicht erlaubt" #. translator: %s is a SQL statement name -#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2649 +#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2651 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt" @@ -14350,28 +14257,28 @@ msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt" msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbare Cursor müssen READ ONLY sein." -#: executor/spi.c:2488 +#: executor/spi.c:2490 #, c-format msgid "empty query does not return tuples" msgstr "leere Anfrage gibt keine Tupel zurück" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2562 +#: executor/spi.c:2564 #, c-format msgid "%s query does not return tuples" msgstr "%s-Anfrage gibt keine Tupel zurück" -#: executor/spi.c:2979 +#: executor/spi.c:2981 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-Ausdruck »%s«" -#: executor/spi.c:2984 +#: executor/spi.c:2986 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL-Zuweisung »%s«" -#: executor/spi.c:2987 +#: executor/spi.c:2989 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-Anweisung »%s«" @@ -14381,414 +14288,420 @@ msgstr "SQL-Anweisung »%s«" msgid "could not send tuple to shared-memory queue" msgstr "konnte Tupel nicht an Shared-Memory-Queue senden" -#: foreign/foreign.c:224 +#: foreign/foreign.c:225 #, c-format msgid "user mapping not found for user \"%s\", server \"%s\"" msgstr "Benutzerabbildung für Benutzer »%s«, Server »%s« nicht gefunden" -#: foreign/foreign.c:650 +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153 +#: optimizer/util/plancat.c:540 +#, c-format +msgid "access to non-system foreign table is restricted" +msgstr "Zugriff auf Nicht-System-Fremdtabelle ist beschränkt" + +#: foreign/foreign.c:660 #, c-format msgid "invalid option \"%s\"" msgstr "ungültige Option »%s«" -#: foreign/foreign.c:652 +#: foreign/foreign.c:662 #, c-format msgid "Perhaps you meant the option \"%s\"." msgstr "Vielleicht meinten Sie die Option »%s«." -#: foreign/foreign.c:654 +#: foreign/foreign.c:664 #, c-format msgid "There are no valid options in this context." msgstr "Es gibt keine gültigen Optionen in diesem Zusammenhang." -#: gram.y:1234 +#: gram.y:1231 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD wird nicht mehr unterstützt" -#: gram.y:1235 +#: gram.y:1232 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "Lassen Sie UNENCRYPTED weg, um das Passwort stattdessen in verschlüsselter Form zu speichern." -#: gram.y:1562 gram.y:1578 +#: gram.y:1559 gram.y:1575 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten" -#: gram.y:1730 +#: gram.y:1727 #, c-format msgid "current database cannot be changed" msgstr "aktuelle Datenbank kann nicht geändert werden" -#: gram.y:1863 +#: gram.y:1860 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein" -#: gram.y:2539 +#: gram.y:2487 #, c-format msgid "column number must be in range from 1 to %d" msgstr "Spaltennummer muss im Bereich 1 bis %d sein" -#: gram.y:3135 +#: gram.y:3083 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "Sequenzoption »%s« wird hier nicht unterstützt" -#: gram.y:3174 +#: gram.y:3122 #, c-format msgid "modulus for hash partition provided more than once" msgstr "Modulus für Hashpartition mehrmals angegeben" -#: gram.y:3183 +#: gram.y:3131 #, c-format msgid "remainder for hash partition provided more than once" msgstr "Rest für Hashpartition mehrmals angegeben" -#: gram.y:3190 +#: gram.y:3138 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "unbekannte Hashpartitionsbegrenzungsangabe »%s«" -#: gram.y:3198 +#: gram.y:3146 #, c-format msgid "modulus for hash partition must be specified" msgstr "Modulus für Hashpartition muss angegeben werden" -#: gram.y:3202 +#: gram.y:3150 #, c-format msgid "remainder for hash partition must be specified" msgstr "Rest für Hashpartition muss angegeben werden" -#: gram.y:3410 gram.y:3444 +#: gram.y:3358 gram.y:3392 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt" -#: gram.y:3416 +#: gram.y:3364 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "mit COPY TO ist keine WHERE-Klausel erlaubt" -#: gram.y:3764 gram.y:3771 gram.y:13068 gram.y:13076 +#: gram.y:3712 gram.y:3719 gram.y:13016 gram.y:13024 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist veraltet" -#: gram.y:4047 +#: gram.y:3995 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "für eine generierte Spalte muss GENERATED ALWAYS angegeben werden" -#: gram.y:4392 utils/adt/ri_triggers.c:2103 +#: gram.y:4340 utils/adt/ri_triggers.c:2103 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL ist noch nicht implementiert" -#: gram.y:4484 +#: gram.y:4432 #, c-format msgid "a column list with %s is only supported for ON DELETE actions" msgstr "eine Spaltenliste für %s wird nur für ON-DELETE-Aktionen unterstützt" -#: gram.y:5196 +#: gram.y:5144 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM wird nicht mehr unterstützt" -#: gram.y:5894 +#: gram.y:5842 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "unbekannte Zeilensicherheitsoption »%s«" -#: gram.y:5895 +#: gram.y:5843 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "Aktuell werden nur PERMISSIVE und RESTRICTIVE unterstützt." -#: gram.y:5980 +#: gram.y:5928 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt" -#: gram.y:6017 +#: gram.y:5965 msgid "duplicate trigger events specified" msgstr "mehrere Trigger-Ereignisse angegeben" -#: gram.y:6159 parser/parse_utilcmd.c:3839 parser/parse_utilcmd.c:3865 +#: gram.y:6107 parser/parse_utilcmd.c:3664 parser/parse_utilcmd.c:3690 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein" -#: gram.y:6166 +#: gram.y:6114 #, c-format msgid "conflicting constraint properties" msgstr "widersprüchliche Constraint-Eigentschaften" -#: gram.y:6265 +#: gram.y:6213 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION ist noch nicht implementiert" -#: gram.y:6582 +#: gram.y:6530 #, c-format msgid "dropping an enum value is not implemented" msgstr "Löschen eines Enum-Werts ist nicht implementiert" -#: gram.y:6700 +#: gram.y:6648 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK wird nicht mehr benötigt" -#: gram.y:6701 +#: gram.y:6649 #, c-format msgid "Update your data type." msgstr "Aktualisieren Sie Ihren Datentyp." -#: gram.y:8574 +#: gram.y:8522 #, c-format msgid "aggregates cannot have output arguments" msgstr "Aggregatfunktionen können keine OUT-Argumente haben" -#: gram.y:9037 utils/adt/regproc.c:670 +#: gram.y:8985 utils/adt/regproc.c:670 #, c-format msgid "missing argument" msgstr "Argument fehlt" -#: gram.y:9038 utils/adt/regproc.c:671 +#: gram.y:8986 utils/adt/regproc.c:671 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Verwenden Sie NONE, um das fehlende Argument eines unären Operators anzugeben." -#: gram.y:11266 gram.y:11285 +#: gram.y:11214 gram.y:11233 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION wird für rekursive Sichten nicht unterstützt" -#: gram.y:13207 +#: gram.y:13155 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "Syntax LIMIT x,y wird nicht unterstützt" -#: gram.y:13208 +#: gram.y:13156 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET." -#: gram.y:14083 +#: gram.y:14031 #, c-format msgid "only one DEFAULT value is allowed" msgstr "nur ein DEFAULT-Wert ist erlaubt" -#: gram.y:14092 +#: gram.y:14040 #, c-format msgid "only one PATH value per column is allowed" msgstr "nur ein PATH-Wert pro Spalte ist erlaubt" -#: gram.y:14101 +#: gram.y:14049 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "widersprüchliche oder überflüssige NULL/NOT NULL-Deklarationen für Spalte »%s«" -#: gram.y:14110 +#: gram.y:14058 #, c-format msgid "unrecognized column option \"%s\"" msgstr "unbekannte Spaltenoption »%s«" -#: gram.y:14192 +#: gram.y:14140 #, c-format msgid "only string constants are supported in JSON_TABLE path specification" msgstr "nur Zeichenkettenkonstanten werden in Pfadangaben in JSON_TABLE unterstützt" -#: gram.y:14514 +#: gram.y:14462 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "Präzision von Typ float muss mindestens 1 Bit sein" -#: gram.y:14523 +#: gram.y:14471 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "Präzision von Typ float muss weniger als 54 Bits sein" -#: gram.y:15040 +#: gram.y:14988 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "falsche Anzahl Parameter auf linker Seite von OVERLAPS-Ausdruck" -#: gram.y:15045 +#: gram.y:14993 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "falsche Anzahl Parameter auf rechter Seite von OVERLAPS-Ausdruck" -#: gram.y:15222 +#: gram.y:15170 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "UNIQUE-Prädikat ist noch nicht implementiert" -#: gram.y:15636 +#: gram.y:15584 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "in WITHIN GROUP können nicht mehrere ORDER-BY-Klauseln verwendet werden" -#: gram.y:15641 +#: gram.y:15589 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden" -#: gram.y:15646 +#: gram.y:15594 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden" -#: gram.y:16373 gram.y:16397 +#: gram.y:16321 gram.y:16345 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein" -#: gram.y:16378 +#: gram.y:16326 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "Frame der in der folgenden Zeile beginnt kann nicht in der aktuellen Zeile enden" -#: gram.y:16402 +#: gram.y:16350 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein" -#: gram.y:16408 +#: gram.y:16356 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "Frame der in der aktuellen Zeile beginnt kann keine vorhergehenden Zeilen haben" -#: gram.y:16415 +#: gram.y:16363 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "Frame der in der folgenden Zeile beginnt kann keine vorhergehenden Zeilen haben" -#: gram.y:16964 +#: gram.y:16912 #, c-format msgid "unrecognized JSON encoding: %s" msgstr "unbekannte JSON-Kodierung: %s" -#: gram.y:17288 +#: gram.y:17236 #, c-format msgid "type modifier cannot have parameter name" msgstr "Typmodifikator kann keinen Parameternamen haben" -#: gram.y:17294 +#: gram.y:17242 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "Typmodifikator kann kein ORDER BY haben" -#: gram.y:17362 gram.y:17369 gram.y:17376 +#: gram.y:17310 gram.y:17317 gram.y:17324 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s kann hier nicht als Rollenname verwendet werden" -#: gram.y:17466 gram.y:18955 +#: gram.y:17414 gram.y:18899 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIES kann nicht ohne ORDER-BY-Klausel angegeben werden" -#: gram.y:18646 gram.y:18821 +#: gram.y:18590 gram.y:18765 msgid "improper use of \"*\"" msgstr "unzulässige Verwendung von »*«" -#: gram.y:18784 gram.y:18801 tsearch/spell.c:963 tsearch/spell.c:980 +#: gram.y:18728 gram.y:18745 tsearch/spell.c:963 tsearch/spell.c:980 #: tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079 #, c-format msgid "syntax error" msgstr "Syntaxfehler" -#: gram.y:18885 +#: gram.y:18829 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "eine Ordered-Set-Aggregatfunktion mit einem direkten VARIADIC-Argument muss ein aggregiertes VARIADIC-Argument des selben Datentyps haben" -#: gram.y:18922 +#: gram.y:18866 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt" -#: gram.y:18933 +#: gram.y:18877 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt" -#: gram.y:18942 +#: gram.y:18886 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt" -#: gram.y:18951 +#: gram.y:18895 #, c-format msgid "multiple limit options not allowed" msgstr "mehrere Limit-Optionen sind nicht erlaubt" -#: gram.y:18978 +#: gram.y:18922 #, c-format msgid "multiple WITH clauses not allowed" msgstr "mehrere WITH-Klauseln sind nicht erlaubt" -#: gram.y:19171 +#: gram.y:19115 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "OUT- und INOUT-Argumente sind in TABLE-Funktionen nicht erlaubt" -#: gram.y:19304 +#: gram.y:19248 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19342 gram.y:19355 +#: gram.y:19286 gram.y:19299 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "%s-Constraints können nicht als DEFERRABLE markiert werden" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19368 +#: gram.y:19312 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "%s-Constraints können nicht als NOT VALID markiert werden" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19381 +#: gram.y:19325 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "%s-Constraints können nicht als NO INHERIT markiert werden" -#: gram.y:19403 +#: gram.y:19347 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "unbekannte Partitionierungsstrategie »%s«" -#: gram.y:19427 +#: gram.y:19371 #, c-format msgid "invalid publication object list" msgstr "ungültige Publikationsobjektliste" -#: gram.y:19428 +#: gram.y:19372 #, c-format msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." msgstr "Entweder TABLE oder TABLES IN SCHEMA muss vor einem alleinstehenden Tabellen- oder Schemanamen angegeben werden." -#: gram.y:19444 +#: gram.y:19388 #, c-format msgid "invalid table name" msgstr "ungültiger Tabellenname" -#: gram.y:19465 +#: gram.y:19409 #, c-format msgid "WHERE clause not allowed for schema" msgstr "für Schemas ist keine WHERE-Klausel erlaubt" -#: gram.y:19472 +#: gram.y:19416 #, c-format msgid "column specification not allowed for schema" msgstr "für Schemas ist keine Spaltenangabe erlaubt" -#: gram.y:19486 +#: gram.y:19430 #, c-format msgid "invalid schema name" msgstr "ungültiger Schemaname" @@ -14844,7 +14757,7 @@ msgstr "ungültige Eingabesyntax für Typ %s" #: jsonpath_gram.y:267 #, c-format msgid ".decimal() can only have an optional precision[,scale]." -msgstr "" +msgstr ".decimal() kann nur optionale Argumente Präzision[,Skala] haben." #: jsonpath_gram.y:599 #, c-format @@ -15808,171 +15721,171 @@ msgstr "konnte SSL-Protokollversionsbereich nicht setzen" msgid "\"%s\" cannot be higher than \"%s\"" msgstr "»%s« kann nicht höher als »%s« sein" -#: libpq/be-secure-openssl.c:308 +#: libpq/be-secure-openssl.c:307 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)" -#: libpq/be-secure-openssl.c:328 +#: libpq/be-secure-openssl.c:327 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "konnte Root-Zertifikat-Datei »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:377 +#: libpq/be-secure-openssl.c:376 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:385 +#: libpq/be-secure-openssl.c:384 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "konnte SSL-Certificate-Revocation-List-Verzeichnis »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:393 +#: libpq/be-secure-openssl.c:392 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« oder -Verzeichnis »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:451 +#: libpq/be-secure-openssl.c:450 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "konnte SSL-Verbindung nicht initialisieren: SSL-Kontext nicht eingerichtet" -#: libpq/be-secure-openssl.c:465 +#: libpq/be-secure-openssl.c:464 #, c-format msgid "could not initialize SSL connection: %s" msgstr "konnte SSL-Verbindung nicht initialisieren: %s" -#: libpq/be-secure-openssl.c:473 +#: libpq/be-secure-openssl.c:472 #, c-format msgid "could not set SSL socket: %s" msgstr "konnte SSL-Socket nicht setzen: %s" -#: libpq/be-secure-openssl.c:529 +#: libpq/be-secure-openssl.c:528 #, c-format msgid "could not accept SSL connection: %m" msgstr "konnte SSL-Verbindung nicht annehmen: %m" -#: libpq/be-secure-openssl.c:533 libpq/be-secure-openssl.c:590 +#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt" -#: libpq/be-secure-openssl.c:574 +#: libpq/be-secure-openssl.c:573 #, c-format msgid "could not accept SSL connection: %s" msgstr "konnte SSL-Verbindung nicht annehmen: %s" -#: libpq/be-secure-openssl.c:578 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Das zeigt möglicherweise an, dass der Client keine SSL-Protokollversion zwischen %s und %s unterstützt." -#: libpq/be-secure-openssl.c:595 libpq/be-secure-openssl.c:810 -#: libpq/be-secure-openssl.c:880 +#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809 +#: libpq/be-secure-openssl.c:879 #, c-format msgid "unrecognized SSL error code: %d" msgstr "unbekannter SSL-Fehlercode: %d" -#: libpq/be-secure-openssl.c:623 +#: libpq/be-secure-openssl.c:622 #, c-format msgid "received SSL connection request with unexpected ALPN protocol" -msgstr "" +msgstr "SSL-Verbindungsanfrage mit unerwartetem ALPN-Protokoll erhalten" -#: libpq/be-secure-openssl.c:667 +#: libpq/be-secure-openssl.c:666 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Common-Name im SSL-Zertifikat enthält Null-Byte" -#: libpq/be-secure-openssl.c:713 +#: libpq/be-secure-openssl.c:712 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "Distinguished Name im SSL-Zertifikat enthält Null-Byte" -#: libpq/be-secure-openssl.c:799 libpq/be-secure-openssl.c:864 +#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863 #, c-format msgid "SSL error: %s" msgstr "SSL-Fehler: %s" -#: libpq/be-secure-openssl.c:1039 +#: libpq/be-secure-openssl.c:1038 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m" -#: libpq/be-secure-openssl.c:1051 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not load DH parameters file: %s" msgstr "konnte DH-Parameterdatei nicht laden: %s" -#: libpq/be-secure-openssl.c:1061 +#: libpq/be-secure-openssl.c:1060 #, c-format msgid "invalid DH parameters: %s" msgstr "ungültige DH-Parameter: %s" -#: libpq/be-secure-openssl.c:1070 +#: libpq/be-secure-openssl.c:1069 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "ungültige DH-Parameter: p ist keine Primzahl" -#: libpq/be-secure-openssl.c:1079 +#: libpq/be-secure-openssl.c:1078 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "ungültige DH-Parameter: weder geeigneter Generator noch sichere Primzahl" -#: libpq/be-secure-openssl.c:1215 +#: libpq/be-secure-openssl.c:1214 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "Überprüfung des Client-Zertifikats ist auf Tiefe %d fehlgeschlagen: %s." -#: libpq/be-secure-openssl.c:1252 +#: libpq/be-secure-openssl.c:1251 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." msgstr "Daten des fehlgeschlagenen Zertifikats (nicht verifiziert): Subject »%s«, Seriennummer %s, Aussteller »%s«." -#: libpq/be-secure-openssl.c:1253 +#: libpq/be-secure-openssl.c:1252 msgid "unknown" msgstr "unbekannt" -#: libpq/be-secure-openssl.c:1390 +#: libpq/be-secure-openssl.c:1389 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: konnte DH-Parameter nicht laden" -#: libpq/be-secure-openssl.c:1398 +#: libpq/be-secure-openssl.c:1397 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: konnte DH-Parameter nicht setzen: %s" -#: libpq/be-secure-openssl.c:1425 +#: libpq/be-secure-openssl.c:1424 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: unbekannter Kurvenname: %s" -#: libpq/be-secure-openssl.c:1434 +#: libpq/be-secure-openssl.c:1433 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: konnte Schlüssel nicht erzeugen" -#: libpq/be-secure-openssl.c:1462 +#: libpq/be-secure-openssl.c:1461 msgid "no SSL error reported" msgstr "kein SSL-Fehler berichtet" -#: libpq/be-secure-openssl.c:1480 +#: libpq/be-secure-openssl.c:1479 #, c-format msgid "SSL error code %lu" msgstr "SSL-Fehlercode %lu" -#: libpq/be-secure-openssl.c:1637 +#: libpq/be-secure-openssl.c:1636 #, c-format msgid "could not create BIO" msgstr "konnte BIO nicht erzeugen" -#: libpq/be-secure-openssl.c:1647 +#: libpq/be-secure-openssl.c:1646 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "konnte NID für ASN1_OBJECT-Objekt nicht ermitteln" -#: libpq/be-secure-openssl.c:1655 +#: libpq/be-secure-openssl.c:1654 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln" @@ -16493,7 +16406,7 @@ msgstr "es besteht keine Client-Verbindung" msgid "could not receive data from client: %m" msgstr "konnte Daten vom Client nicht empfangen: %m" -#: libpq/pqcomm.c:1149 tcop/postgres.c:4445 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4509 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde" @@ -16857,7 +16770,7 @@ msgstr "Relation »%s« hat keinen zusammengesetzten Typ" #: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2111 parser/parse_func.c:710 parser/parse_oper.c:869 +#: parser/parse_expr.c:2112 parser/parse_func.c:710 parser/parse_oper.c:869 #: utils/fmgr/funcapi.c:669 #, c-format msgid "could not find array type for data type %s" @@ -16878,8 +16791,8 @@ msgstr "unbenanntes Portal mit Parametern: %s" msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt" -#: optimizer/plan/createplan.c:7162 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1695 +#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "MERGE kann für Relation »%s« nicht ausgeführt werden" @@ -16954,27 +16867,27 @@ msgstr "konnte %s nicht implementieren" msgid "SQL function \"%s\" during inlining" msgstr "SQL-Funktion »%s« beim Inlining" -#: optimizer/util/plancat.c:152 +#: optimizer/util/plancat.c:153 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "während der Wiederherstellung kann nicht auf temporäre oder ungeloggte Tabellen zugegriffen werden" -#: optimizer/util/plancat.c:756 +#: optimizer/util/plancat.c:768 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "Inferenzangaben mit Unique-Index über die gesamte Zeile werden nicht unterstützt" -#: optimizer/util/plancat.c:773 +#: optimizer/util/plancat.c:785 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "Constraint in der ON-CONFLICT-Klausel hat keinen zugehörigen Index" -#: optimizer/util/plancat.c:823 +#: optimizer/util/plancat.c:835 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE nicht unterstützt mit Exclusion-Constraints" -#: optimizer/util/plancat.c:933 +#: optimizer/util/plancat.c:945 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "es gibt keinen Unique-Constraint oder Exclusion-Constraint, der auf die ON-CONFLICT-Angabe passt" @@ -17404,7 +17317,7 @@ msgstr "Aggregatfunktion auf äußerer Ebene kann keine Variable einer unteren E msgid "aggregate function calls cannot contain set-returning function calls" msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Funktionen mit Ergebnismenge enthalten" -#: parser/parse_agg.c:782 parser/parse_expr.c:1761 parser/parse_expr.c:2244 +#: parser/parse_agg.c:782 parser/parse_expr.c:1762 parser/parse_expr.c:2245 #: parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." @@ -17573,7 +17486,7 @@ msgstr "WITH ORDINALITY kann nicht mit einer Spaltendefinitionsliste verwendet w msgid "Put the column definition list inside ROWS FROM()." msgstr "Geben Sie die Spaltendefinitionsliste innerhalb von ROWS FROM() an." -#: parser/parse_clause.c:762 +#: parser/parse_clause.c:762 parser/parse_jsontable.c:295 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt" @@ -17801,8 +17714,8 @@ msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2145 parser/parse_expr.c:2753 parser/parse_expr.c:3402 -#: parser/parse_expr.c:3631 parser/parse_target.c:998 +#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405 +#: parser/parse_expr.c:3634 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "kann Typ %s nicht in Typ %s umwandeln" @@ -18194,377 +18107,349 @@ msgstr "Spaltenverweis »%s« ist nicht eindeutig" msgid "there is no parameter $%d" msgstr "es gibt keinen Parameter $%d" -#: parser/parse_expr.c:1102 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1103 parser/parse_expr.c:3065 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "NULLIF erfordert, dass Operator = boolean ergibt" +msgid "%s requires = operator to yield boolean" +msgstr "%s erfordert, dass Operator = boolean ergibt" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1108 parser/parse_expr.c:3069 +#: parser/parse_expr.c:1109 parser/parse_expr.c:3072 #, c-format msgid "%s must not return a set" msgstr "%s darf keine Ergebnismenge zurückgeben" -#: parser/parse_expr.c:1394 +#: parser/parse_expr.c:1395 #, c-format msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" msgstr "MERGE_ACTION() kann nur in der RETURNING-Liste eines MERGE-Befehls verwendet werden" -#: parser/parse_expr.c:1518 parser/parse_expr.c:1550 +#: parser/parse_expr.c:1519 parser/parse_expr.c:1551 #, c-format msgid "number of columns does not match number of values" msgstr "Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein" -#: parser/parse_expr.c:1564 +#: parser/parse_expr.c:1565 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "die Quelle für ein UPDATE-Element mit mehreren Spalten muss ein Sub-SELECT oder ein ROW()-Ausdruck sein" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1759 parser/parse_expr.c:2242 parser/parse_func.c:2679 +#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt" -#: parser/parse_expr.c:1823 +#: parser/parse_expr.c:1824 msgid "cannot use subquery in check constraint" msgstr "Unteranfragen können nicht in Check-Constraints verwendet werden" -#: parser/parse_expr.c:1827 +#: parser/parse_expr.c:1828 msgid "cannot use subquery in DEFAULT expression" msgstr "Unteranfragen können nicht in DEFAULT-Ausdrücken verwendet werden" -#: parser/parse_expr.c:1830 +#: parser/parse_expr.c:1831 msgid "cannot use subquery in index expression" msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden" -#: parser/parse_expr.c:1833 +#: parser/parse_expr.c:1834 msgid "cannot use subquery in index predicate" msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden" -#: parser/parse_expr.c:1836 +#: parser/parse_expr.c:1837 msgid "cannot use subquery in statistics expression" msgstr "Unteranfragen können nicht in Statistikausdrücken verwendet werden" -#: parser/parse_expr.c:1839 +#: parser/parse_expr.c:1840 msgid "cannot use subquery in transform expression" msgstr "Unteranfragen können in Umwandlungsausdrücken nicht verwendet werden" -#: parser/parse_expr.c:1842 +#: parser/parse_expr.c:1843 msgid "cannot use subquery in EXECUTE parameter" msgstr "Unteranfragen können nicht in EXECUTE-Parameter verwendet werden" -#: parser/parse_expr.c:1845 +#: parser/parse_expr.c:1846 msgid "cannot use subquery in trigger WHEN condition" msgstr "Unteranfragen können nicht in der WHEN-Bedingung eines Triggers verwendet werden" -#: parser/parse_expr.c:1848 +#: parser/parse_expr.c:1849 msgid "cannot use subquery in partition bound" msgstr "Unteranfragen können nicht in Partitionsbegrenzungen verwendet werden" -#: parser/parse_expr.c:1851 +#: parser/parse_expr.c:1852 msgid "cannot use subquery in partition key expression" msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden" -#: parser/parse_expr.c:1854 +#: parser/parse_expr.c:1855 msgid "cannot use subquery in CALL argument" msgstr "Unteranfragen können nicht in CALL-Argument verwendet werden" -#: parser/parse_expr.c:1857 +#: parser/parse_expr.c:1858 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "Unteranfragen können nicht in COPY-FROM-WHERE-Bedingungen verwendet werden" -#: parser/parse_expr.c:1860 +#: parser/parse_expr.c:1861 msgid "cannot use subquery in column generation expression" msgstr "Unteranfragen können nicht in Spaltengenerierungsausdrücken verwendet werden" -#: parser/parse_expr.c:1913 parser/parse_expr.c:3761 +#: parser/parse_expr.c:1914 parser/parse_expr.c:3764 #, c-format msgid "subquery must return only one column" msgstr "Unteranfrage darf nur eine Spalte zurückgeben" -#: parser/parse_expr.c:1984 +#: parser/parse_expr.c:1985 #, c-format msgid "subquery has too many columns" msgstr "Unteranfrage hat zu viele Spalten" -#: parser/parse_expr.c:1989 +#: parser/parse_expr.c:1990 #, c-format msgid "subquery has too few columns" msgstr "Unteranfrage hat zu wenige Spalten" -#: parser/parse_expr.c:2085 +#: parser/parse_expr.c:2086 #, c-format msgid "cannot determine type of empty array" msgstr "kann Typ eines leeren Arrays nicht bestimmen" -#: parser/parse_expr.c:2086 +#: parser/parse_expr.c:2087 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Wandeln Sie ausdrücklich in den gewünschten Typ um, zum Beispiel ARRAY[]::integer[]." -#: parser/parse_expr.c:2100 +#: parser/parse_expr.c:2101 #, c-format msgid "could not find element type for data type %s" msgstr "konnte Elementtyp für Datentyp %s nicht finden" -#: parser/parse_expr.c:2183 +#: parser/parse_expr.c:2184 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW-Ausdrücke können höchstens %d Einträge haben" -#: parser/parse_expr.c:2388 +#: parser/parse_expr.c:2389 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "unbenannter XML-Attributwert muss ein Spaltenverweis sein" -#: parser/parse_expr.c:2389 +#: parser/parse_expr.c:2390 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "unbenannter XML-Elementwert muss ein Spaltenverweis sein" -#: parser/parse_expr.c:2404 +#: parser/parse_expr.c:2405 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "XML-Attributname »%s« einscheint mehrmals" -#: parser/parse_expr.c:2512 +#: parser/parse_expr.c:2513 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "kann das Ergebnis von XMLSERIALIZE nicht in Typ %s umwandeln" -#: parser/parse_expr.c:2826 parser/parse_expr.c:3022 +#: parser/parse_expr.c:2827 parser/parse_expr.c:3023 #, c-format msgid "unequal number of entries in row expressions" msgstr "ungleiche Anzahl Einträge in Zeilenausdrücken" -#: parser/parse_expr.c:2836 +#: parser/parse_expr.c:2837 #, c-format msgid "cannot compare rows of zero length" msgstr "kann Zeilen mit Länge null nicht vergleichen" -#: parser/parse_expr.c:2861 +#: parser/parse_expr.c:2862 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "Zeilenvergleichsoperator muss Typ boolean zurückgeben, nicht Typ %s" -#: parser/parse_expr.c:2868 +#: parser/parse_expr.c:2869 #, c-format msgid "row comparison operator must not return a set" msgstr "Zeilenvergleichsoperator darf keine Ergebnismenge zurückgeben" -#: parser/parse_expr.c:2927 parser/parse_expr.c:2968 +#: parser/parse_expr.c:2928 parser/parse_expr.c:2969 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "konnte Interpretation des Zeilenvergleichsoperators %s nicht bestimmen" -#: parser/parse_expr.c:2929 +#: parser/parse_expr.c:2930 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Zeilenvergleichsoperatoren müssen einer »btree«-Operatorfamilie zugeordnet sein." -#: parser/parse_expr.c:2970 +#: parser/parse_expr.c:2971 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten." -#: parser/parse_expr.c:3063 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt" - -#: parser/parse_expr.c:3303 +#: parser/parse_expr.c:3306 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "JSON-ENCODING-Klausel ist nur für Eingabetyp bytea erlaubt" -#: parser/parse_expr.c:3367 +#: parser/parse_expr.c:3370 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3368 +#: parser/parse_expr.c:3371 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "explizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3457 +#: parser/parse_expr.c:3460 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "Format JSON kann nicht mit Ausgabetypen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3470 +#: parser/parse_expr.c:3473 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "JSON-Kodierung kann nur für Ausgabetyp bytea gesetzt werden" -#: parser/parse_expr.c:3475 +#: parser/parse_expr.c:3478 #, c-format msgid "unsupported JSON encoding" msgstr "nicht unterstützte JSON-Kodierung" -#: parser/parse_expr.c:3476 +#: parser/parse_expr.c:3479 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Nur die JSON-Kodierung UTF8 wird unterstützt." -#: parser/parse_expr.c:3513 +#: parser/parse_expr.c:3516 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "Rückgabe von SETOF-Typen wird in SQL/JSON-Funktionen nicht unterstützt" -#: parser/parse_expr.c:3518 +#: parser/parse_expr.c:3521 #, c-format msgid "returning pseudo-types is not supported in SQL/JSON functions" msgstr "Rückgabe von Pseudotypen wird in SQL/JSON-Funktionen nicht unterstützt" -#: parser/parse_expr.c:3846 parser/parse_func.c:866 +#: parser/parse_expr.c:3849 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert" -#: parser/parse_expr.c:4069 +#: parser/parse_expr.c:4072 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "JSON-FORMAT-ENCODING-Klausel kann nur für Eingabetyp bytea verwendet werden" -#: parser/parse_expr.c:4089 +#: parser/parse_expr.c:4092 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "Typ %s kann nicht im IS-JSON-Prädikat verwendet werden" -#: parser/parse_expr.c:4115 parser/parse_expr.c:4235 -#, fuzzy, c-format -#| msgid "cannot cast type %s to %s" +#: parser/parse_expr.c:4118 parser/parse_expr.c:4238 +#, c-format msgid "cannot use RETURNING type %s in %s" -msgstr "kann Typ %s nicht in Typ %s umwandeln" +msgstr "kann RETURNING-Typ %s nicht in %s verwenden" -#: parser/parse_expr.c:4164 -#, fuzzy, c-format -#| msgid "cannot use non-string types with implicit FORMAT JSON clause" +#: parser/parse_expr.c:4167 +#, c-format msgid "cannot use non-string types with WITH UNIQUE KEYS clause" -msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" +msgstr "Klausel WITH UNIQUE KEYS kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:4238 +#: parser/parse_expr.c:4241 #, c-format msgid "Try returning a string type or bytea." -msgstr "" +msgstr "Versuchen Sie einen Zeichenkettentyp oder bytea zurückzugeben." -#: parser/parse_expr.c:4303 +#: parser/parse_expr.c:4306 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" -msgstr "" +msgstr "FORMAT JSON kann nicht in der RETURNING-Klausel von %s() angegeben werden" -#: parser/parse_expr.c:4316 +#: parser/parse_expr.c:4319 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" -msgstr "" - -#: parser/parse_expr.c:4329 parser/parse_expr.c:4396 -#, fuzzy, c-format -#| msgid "invalid ON ERROR behavior" -msgid "invalid ON EMPTY behavior" -msgstr "ungültiges ON-ERROR-Verhalten" - -#: parser/parse_expr.c:4330 -#, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for JSON_QUERY()." -msgstr "" - -#: parser/parse_expr.c:4335 parser/parse_expr.c:4402 -#, fuzzy, c-format -#| msgid "invalid ON ERROR behavior" -msgid "invalid ON EMPTY behavior for column \"%s\"" -msgstr "ungültiges ON-ERROR-Verhalten" +msgstr "SQL/JSON-QUOTES-Verhalten darf nicht angegeben werden, wenn WITH WRAPPER verwendet wird" -#: parser/parse_expr.c:4337 -#, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for formatted columns." -msgstr "" - -#: parser/parse_expr.c:4351 parser/parse_expr.c:4375 parser/parse_expr.c:4415 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393 +#: parser/parse_expr.c:4419 parser/parse_expr.c:4445 #: parser/parse_jsontable.c:94 #, c-format -msgid "invalid ON ERROR behavior" -msgstr "ungültiges ON-ERROR-Verhalten" - -#: parser/parse_expr.c:4352 -#, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY()." -msgstr "" +msgid "invalid %s behavior" +msgstr "ungültiges »%s«-Verhalten" -#: parser/parse_expr.c:4357 parser/parse_expr.c:4381 parser/parse_expr.c:4421 -#, fuzzy, c-format -#| msgid "invalid ON ERROR behavior" -msgid "invalid ON ERROR behavior for column \"%s\"" -msgstr "ungültiges ON-ERROR-Verhalten" - -#: parser/parse_expr.c:4359 +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), +#. second %s is a SQL/JSON function name (e.g. JSON_QUERY) +#: parser/parse_expr.c:4336 parser/parse_expr.c:4365 #, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns." -msgstr "" +msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." +msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind erlaubt in %s für %s." -#: parser/parse_expr.c:4376 +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) +#. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401 +#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 #, c-format -msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for JSON_EXISTS()." -msgstr "" +msgid "invalid %s behavior for column \"%s\"" +msgstr "ungültiges »%s«-Verhalten für Spalte »%s«" -#: parser/parse_expr.c:4383 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 #, c-format -msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns." -msgstr "" +msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." +msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind erlaubt in %s für formatierte Spalten." -#: parser/parse_expr.c:4397 +#: parser/parse_expr.c:4394 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for JSON_VALUE()." -msgstr "" +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." +msgstr "Nur ERROR, TRUE, FALSE oder UNKNOWN sind erlaubt in %s für %s." +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) #: parser/parse_expr.c:4404 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for scalar columns." -msgstr "" +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." +msgstr "Nur ERROR, TRUE, FALSE oder UNKNOWN sind erlaubt in %s für EXISTS-Spalten." -#: parser/parse_expr.c:4416 +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), +#. second %s is a SQL/JSON function name (e.g. JSON_QUERY) +#: parser/parse_expr.c:4422 parser/parse_expr.c:4448 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for JSON_VALUE()." -msgstr "" +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." +msgstr "Nur ERROR, NULL oder DEFAULT-Ausdruck sind erlaubt in %s für %s." -#: parser/parse_expr.c:4423 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for scalar columns." -msgstr "" +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." +msgstr "Nur ERROR, NULL oder DEFAULT-Ausdruck sind erlaubt in %s für skalare Spalten." -#: parser/parse_expr.c:4452 +#: parser/parse_expr.c:4488 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "JSON-Pfadausdruck muss Typ %s haben, nicht Typ %s" -#: parser/parse_expr.c:4670 +#: parser/parse_expr.c:4706 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" -msgstr "" +msgstr "für DEFAULT kann nur eine Konstante, Nicht-Aggregat-Funktion oder ein Operatorausdruck angegeben werden" -#: parser/parse_expr.c:4675 +#: parser/parse_expr.c:4711 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT-Ausdruck darf keine Spaltenverweise enthalten" -#: parser/parse_expr.c:4680 +#: parser/parse_expr.c:4716 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT-Ausdruck darf keine Ergebnismenge zurückgeben" -#: parser/parse_expr.c:4756 parser/parse_expr.c:4765 -#, fuzzy, c-format -#| msgid "cannot cast type %s to %s" +#: parser/parse_expr.c:4792 parser/parse_expr.c:4801 +#, c-format msgid "cannot cast behavior expression of type %s to %s" -msgstr "kann Typ %s nicht in Typ %s umwandeln" +msgstr "kann Verhaltensausdruck nicht von Typ %s in %s umwandeln" -#: parser/parse_expr.c:4759 -#, fuzzy, c-format -#| msgid "You will need to rewrite or cast the expression." +#: parser/parse_expr.c:4795 +#, c-format msgid "You will need to explicitly cast the expression to type %s." -msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen." +msgstr "Sie werden den Ausdruck ausdrücklich in Typ %s umwandeln müssen." #: parser/parse_func.c:194 #, c-format @@ -18903,19 +18788,13 @@ msgstr "Funktionen mit Ergebnismenge sind in Spaltengenerierungsausdrücken nich #: parser/parse_jsontable.c:95 #, c-format msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." -msgstr "" +msgstr "Nur EMPTY [ ARRAY ] oder ERROR ist in der ON-ERROR-Klausel auf der obersten Ebene erlaubt." #: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 #, c-format msgid "duplicate JSON_TABLE column or path name: %s" msgstr "doppelter JSON_TABLE-Spalten- oder -Pfadname: %s" -#: parser/parse_jsontable.c:295 -#, fuzzy, c-format -#| msgid "only one FOR ORDINALITY column is allowed" -msgid "cannot use more than one FOR ORDINALITY column" -msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt" - #: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" @@ -18996,7 +18875,7 @@ msgstr "op ANY/ALL (array) erfordert, dass Operator keine Ergebnismenge zurückg msgid "inconsistent types deduced for parameter $%d" msgstr "inkonsistente Typen für Parameter $%d ermittelt" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:309 tcop/postgres.c:744 #, c-format msgid "could not determine data type of parameter $%d" msgstr "konnte Datentyp von Parameter $%d nicht ermitteln" @@ -19254,343 +19133,320 @@ msgstr "Typmodifikatoren müssen einfache Konstanten oder Bezeichner sein" msgid "invalid type name \"%s\"" msgstr "ungültiger Typname: »%s«" -#: parser/parse_utilcmd.c:266 +#: parser/parse_utilcmd.c:263 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "partitionierte Tabelle kann nicht als Vererbungskind erzeugt werden" -#: parser/parse_utilcmd.c:586 +#: parser/parse_utilcmd.c:583 #, c-format msgid "array of serial is not implemented" msgstr "Array aus Typ serial ist nicht implementiert" -#: parser/parse_utilcmd.c:665 parser/parse_utilcmd.c:677 -#: parser/parse_utilcmd.c:736 +#: parser/parse_utilcmd.c:662 parser/parse_utilcmd.c:674 +#: parser/parse_utilcmd.c:733 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:689 +#: parser/parse_utilcmd.c:686 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "mehrere Vorgabewerte angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:706 +#: parser/parse_utilcmd.c:703 #, c-format msgid "identity columns are not supported on typed tables" msgstr "Identitätsspalten in getypten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:710 +#: parser/parse_utilcmd.c:707 #, c-format msgid "identity columns are not supported on partitions" msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:719 +#: parser/parse_utilcmd.c:716 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "mehrere Identitätsangaben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:749 +#: parser/parse_utilcmd.c:746 #, c-format msgid "generated columns are not supported on typed tables" msgstr "generierte Spalten in getypten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:753 +#: parser/parse_utilcmd.c:750 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "mehrere Generierungsklauseln angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:771 parser/parse_utilcmd.c:886 +#: parser/parse_utilcmd.c:768 parser/parse_utilcmd.c:883 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "Primärschlüssel für Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:780 parser/parse_utilcmd.c:896 +#: parser/parse_utilcmd.c:777 parser/parse_utilcmd.c:893 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:825 +#: parser/parse_utilcmd.c:822 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "sowohl Vorgabewert als auch Identität angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:833 +#: parser/parse_utilcmd.c:830 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "sowohl Vorgabewert als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:841 +#: parser/parse_utilcmd.c:838 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "sowohl Identität als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:906 +#: parser/parse_utilcmd.c:903 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:971 +#: parser/parse_utilcmd.c:968 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE wird für das Erzeugen von Fremdtabellen nicht unterstützt" -#: parser/parse_utilcmd.c:984 +#: parser/parse_utilcmd.c:981 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "Relation »%s« ist ungültig in der LIKE-Klausel" -#: parser/parse_utilcmd.c:1711 parser/parse_utilcmd.c:1819 +#: parser/parse_utilcmd.c:1708 parser/parse_utilcmd.c:1816 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Index »%s« enthält einen Verweis auf die ganze Zeile der Tabelle." -#: parser/parse_utilcmd.c:2217 +#: parser/parse_utilcmd.c:2214 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "bestehender Index kann nicht in CREATE TABLE verwendet werden" -#: parser/parse_utilcmd.c:2237 +#: parser/parse_utilcmd.c:2234 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "Index »%s« gehört bereits zu einem Constraint" -#: parser/parse_utilcmd.c:2258 +#: parser/parse_utilcmd.c:2255 #, c-format msgid "\"%s\" is not a unique index" msgstr "»%s« ist kein Unique Index" -#: parser/parse_utilcmd.c:2259 parser/parse_utilcmd.c:2266 -#: parser/parse_utilcmd.c:2273 parser/parse_utilcmd.c:2350 +#: parser/parse_utilcmd.c:2256 parser/parse_utilcmd.c:2263 +#: parser/parse_utilcmd.c:2270 parser/parse_utilcmd.c:2347 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Ein Primärschlüssel oder Unique-Constraint kann nicht mit einem solchen Index erzeugt werden." -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2262 #, c-format msgid "index \"%s\" contains expressions" msgstr "Index »%s« enthält Ausdrücke" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2269 #, c-format msgid "\"%s\" is a partial index" msgstr "»%s« ist ein partieller Index" -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "\"%s\" is a deferrable index" msgstr "»%s« ist ein aufschiebbarer Index" -#: parser/parse_utilcmd.c:2285 +#: parser/parse_utilcmd.c:2282 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Ein nicht aufschiebbarer Constraint kann nicht mit einem aufschiebbaren Index erzeugt werden." -#: parser/parse_utilcmd.c:2349 +#: parser/parse_utilcmd.c:2346 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "Index »%s« Spalte Nummer %d hat nicht das Standardsortierverhalten" -#: parser/parse_utilcmd.c:2506 +#: parser/parse_utilcmd.c:2503 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "Spalte »%s« erscheint zweimal im Primärschlüssel-Constraint" -#: parser/parse_utilcmd.c:2512 +#: parser/parse_utilcmd.c:2509 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint" -#: parser/parse_utilcmd.c:2846 +#: parser/parse_utilcmd.c:2843 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "Indexausdrücke und -prädikate können nur auf die zu indizierende Tabelle verweisen" -#: parser/parse_utilcmd.c:2918 +#: parser/parse_utilcmd.c:2915 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "Statistikausdrücke können nur auf die referenzierte Tabelle verweisen" -#: parser/parse_utilcmd.c:2961 +#: parser/parse_utilcmd.c:2958 #, c-format msgid "rules on materialized views are not supported" msgstr "Regeln für materialisierte Sichten werden nicht unterstützt" -#: parser/parse_utilcmd.c:3021 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "WHERE-Bedingung einer Regel kann keine Verweise auf andere Relationen enthalten" -#: parser/parse_utilcmd.c:3093 +#: parser/parse_utilcmd.c:3090 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "Regeln mit WHERE-Bedingungen können als Aktion nur SELECT, INSERT, UPDATE oder DELETE haben" -#: parser/parse_utilcmd.c:3111 parser/parse_utilcmd.c:3212 -#: rewrite/rewriteHandler.c:537 rewrite/rewriteManip.c:1095 +#: parser/parse_utilcmd.c:3108 parser/parse_utilcmd.c:3209 +#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert" -#: parser/parse_utilcmd.c:3129 +#: parser/parse_utilcmd.c:3126 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON-SELECT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3133 +#: parser/parse_utilcmd.c:3130 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON-SELECT-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3142 +#: parser/parse_utilcmd.c:3139 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON-INSERT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3148 +#: parser/parse_utilcmd.c:3145 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON-DELETE-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3176 +#: parser/parse_utilcmd.c:3173 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3180 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden" -#: parser/parse_utilcmd.c:3255 -#, c-format -msgid "\"%s\" is not a partition" -msgstr "»%s« ist keine Partition" - -#: parser/parse_utilcmd.c:3290 parser/parse_utilcmd.c:3335 -#: parser/parse_utilcmd.c:4101 -#, c-format -msgid "\"%s\" is not a partitioned table" -msgstr "»%s« ist keine partitionierte Tabelle" - -#: parser/parse_utilcmd.c:3343 -#, fuzzy, c-format -#| msgid "a hash-partitioned table may not have a default partition" -msgid "partition of hash-partitioned table cannot be merged" -msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" - -#: parser/parse_utilcmd.c:3361 -#, fuzzy, c-format -#| msgid "transaction identifier \"%s\" is already in use" -msgid "partition with name \"%s\" is already used" -msgstr "Transaktionsbezeichner »%s« wird bereits verwendet" - -#: parser/parse_utilcmd.c:3673 -#, c-format -msgid "list of new partitions should contain at least two items" -msgstr "" - -#: parser/parse_utilcmd.c:3811 +#: parser/parse_utilcmd.c:3636 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "falsch platzierte DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3816 parser/parse_utilcmd.c:3831 +#: parser/parse_utilcmd.c:3641 parser/parse_utilcmd.c:3656 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3826 +#: parser/parse_utilcmd.c:3651 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "falsch platzierte NOT DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3847 +#: parser/parse_utilcmd.c:3672 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "falsch platzierte INITIALLY DEFERRED-Klausel" -#: parser/parse_utilcmd.c:3852 parser/parse_utilcmd.c:3878 +#: parser/parse_utilcmd.c:3677 parser/parse_utilcmd.c:3703 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3873 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel" -#: parser/parse_utilcmd.c:4066 +#: parser/parse_utilcmd.c:3891 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE gibt ein Schema an (%s) welches nicht gleich dem zu erzeugenden Schema ist (%s)" -#: parser/parse_utilcmd.c:4108 +#: parser/parse_utilcmd.c:3926 +#, c-format +msgid "\"%s\" is not a partitioned table" +msgstr "»%s« ist keine partitionierte Tabelle" + +#: parser/parse_utilcmd.c:3933 #, c-format msgid "table \"%s\" is not partitioned" msgstr "Tabelle »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:4115 +#: parser/parse_utilcmd.c:3940 #, c-format msgid "index \"%s\" is not partitioned" msgstr "Index »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:4155 +#: parser/parse_utilcmd.c:3980 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" -#: parser/parse_utilcmd.c:4172 +#: parser/parse_utilcmd.c:3997 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ungültige Begrenzungsangabe für eine Hash-Partition" -#: parser/parse_utilcmd.c:4178 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4003 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "Modulus für Hashpartition muss eine ganze Zahl größer als null sein" -#: parser/parse_utilcmd.c:4185 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4010 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "Rest für Hashpartition muss kleiner als Modulus sein" -#: parser/parse_utilcmd.c:4198 +#: parser/parse_utilcmd.c:4023 #, c-format msgid "invalid bound specification for a list partition" msgstr "ungültige Begrenzungsangabe für eine Listenpartition" -#: parser/parse_utilcmd.c:4251 +#: parser/parse_utilcmd.c:4076 #, c-format msgid "invalid bound specification for a range partition" msgstr "ungültige Begrenzungsangabe für eine Bereichspartition" -#: parser/parse_utilcmd.c:4257 +#: parser/parse_utilcmd.c:4082 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4261 +#: parser/parse_utilcmd.c:4086 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4375 +#: parser/parse_utilcmd.c:4200 #, c-format msgid "cannot specify NULL in range bound" msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden" -#: parser/parse_utilcmd.c:4424 +#: parser/parse_utilcmd.c:4249 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "jede Begrenzung, die auf MAXVALUE folgt, muss auch MAXVALUE sein" -#: parser/parse_utilcmd.c:4431 +#: parser/parse_utilcmd.c:4256 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "jede Begrenzung, die auf MINVALUE folgt, muss auch MINVALUE sein" -#: parser/parse_utilcmd.c:4474 +#: parser/parse_utilcmd.c:4299 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "angegebener Wert kann nicht in Typ %s für Spalte »%s« umgewandelt werden" @@ -19650,132 +19506,51 @@ msgstr "Der neue Modulus %d ist kein Faktor von %d, dem Modulus der bestehenden msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "Der neue Modulus %d ist nicht durch %d, den Modulus der bestehenden Parition »%s«, teilbar." -#: partitioning/partbounds.c:3127 partitioning/partbounds.c:5202 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "leere Bereichsgrenze angegeben für Partition »%s«" -#: partitioning/partbounds.c:3129 partitioning/partbounds.c:5204 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "Angegebene Untergrenze %s ist größer als oder gleich der Obergrenze %s." -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "Partition »%s« würde sich mit Partition »%s« überlappen" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" msgstr "Scannen von Fremdtabelle »%s«, die eine Partition der Standardpartition »%s« ist, wurde übersprungen" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "remainder for hash partition must be an integer value greater than or equal to zero" msgstr "Rest für Hashpartition muss eine ganze Zahl größer als oder gleich null sein" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "»%s« ist keine Hash-partitionierte Tabelle" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" msgstr "Anzahl der Partitionierungsspalten (%d) stimmt nicht mit der Anzahl der angegebenen Partitionierungsschlüssel (%d) überein" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "column %d of the partition key has type %s, but supplied value is of type %s" msgstr "Spalte %d des Partitionierungsschlüssels hat Typ %s, aber der angegebene Wert hat Typ %s" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "Spalte %d des Partitionierungsschlüssels hat Typ »%s«, aber der angegebene Wert hat Typ »%s«" -#: partitioning/partbounds.c:5038 -#, fuzzy, c-format -#| msgid "partition \"%s\" conflicts with existing default partition \"%s\"" -msgid "lower bound of partition \"%s\" conflicts with upper bound of previous partition \"%s\"" -msgstr "Partition »%s« kollidiert mit bestehender Standardpartition »%s«" - -#: partitioning/partbounds.c:5092 -#, fuzzy, c-format -#| msgid "partition \"%s\" would overlap partition \"%s\"" -msgid "new partition \"%s\" would overlap with another new partition \"%s\"" -msgstr "Partition »%s« würde sich mit Partition »%s« überlappen" - -#: partitioning/partbounds.c:5239 -#, c-format -msgid "lower bound of partition \"%s\" is not equal to lower bound of split partition" -msgstr "Untergrenze der Partition »%s« ist nicht gleich der Untergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5251 -#, c-format -msgid "lower bound of partition \"%s\" is less than lower bound of split partition" -msgstr "Untergrenze der Partition »%s« ist kleiner als die Untergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5280 -#, c-format -msgid "upper bound of partition \"%s\" is not equal to upper bound of split partition" -msgstr "Obergrenze der Partition »%s« ist nicht gleich der Obergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5292 -#, c-format -msgid "upper bound of partition \"%s\" is greater than upper bound of split partition" -msgstr "Obergrenze der Partition »%s« ist größer als die Obergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5364 -#, c-format -msgid "new partition \"%s\" cannot have this value because split partition does not have" -msgstr "" - -#: partitioning/partbounds.c:5380 -#, c-format -msgid "new partition \"%s\" cannot have NULL value because split partition does not have" -msgstr "" - -#: partitioning/partbounds.c:5390 -#, fuzzy, c-format -#| msgid "partition \"%s\" would overlap partition \"%s\"" -msgid "new partition \"%s\" would overlap with another (not split) partition \"%s\"" -msgstr "Partition »%s« würde sich mit Partition »%s« überlappen" - -#: partitioning/partbounds.c:5530 -#, fuzzy, c-format -#| msgid "a hash-partitioned table may not have a default partition" -msgid "new partitions do not have value %s but split partition does" -msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" - -#: partitioning/partbounds.c:5607 -#, c-format -msgid "DEFAULT partition should be one" -msgstr "" - -#: partitioning/partbounds.c:5623 -#, fuzzy, c-format -#| msgid "a hash-partitioned table may not have a default partition" -msgid "partition of hash-partitioned table cannot be split" -msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" - -#: partitioning/partbounds.c:5677 -#, c-format -msgid "one partition in the list should be DEFAULT because split partition is DEFAULT" -msgstr "" - -#: partitioning/partbounds.c:5687 -#, c-format -msgid "new partition cannot be DEFAULT because DEFAULT partition already exists" -msgstr "" - -#: partitioning/partbounds.c:5746 -#, fuzzy, c-format -#| msgid "name \"%s\" is already declared" -msgid "name \"%s\" is already used" -msgstr "Name »%s« ist bereits deklariert" - #: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 #: port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format @@ -20058,7 +19833,7 @@ msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall" msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "Background-Worker »%s«: parallele Arbeitsprozesse dürfen nicht für Neustart konfiguriert sein" -#: postmaster/bgworker.c:715 tcop/postgres.c:3284 +#: postmaster/bgworker.c:715 tcop/postgres.c:3288 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "Background-Worker »%s« wird abgebrochen aufgrund von Anweisung des Administrators" @@ -20173,10 +19948,9 @@ msgid "could not read from backend variables file \"%s\": %m\n" msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %m\n" #: postmaster/launch_backend.c:912 -#, fuzzy, c-format -#| msgid "could not read from backend variables file \"%s\": %s\n" +#, c-format msgid "could not read startup data from backend variables file \"%s\": %m\n" -msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n" +msgstr "konnte Startup-Daten nicht aus Servervariablendatei »%s« lesen: %m\n" #: postmaster/launch_backend.c:924 #, c-format @@ -20494,10 +20268,8 @@ msgid "system logger process" msgstr "Systemlogger-Prozess" #: postmaster/postmaster.c:2660 -#, fuzzy -#| msgid "could not create worker process: %m" msgid "slot sync worker process" -msgstr "konnte Arbeitsprozess nicht erzeugen: %m" +msgstr "Slot-Sync-Arbeitsprozess" #: postmaster/postmaster.c:2716 #, c-format @@ -20678,11 +20450,6 @@ msgstr "konnte Logdatei »%s« nicht öffnen: %m" msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwenden)" -#: postmaster/walsummarizer.c:385 -#, c-format -msgid "switch point from TLI %u to TLI %u is at %X/%X" -msgstr "" - #: postmaster/walsummarizer.c:740 #, c-format msgid "WAL summarization is not progressing" @@ -20695,44 +20462,31 @@ msgstr "Zusammenfassung bis %X/%X wird benötigt, aber sie hängt fest bei %X/%X #: postmaster/walsummarizer.c:755 #, c-format -msgid "still waiting for WAL summarization through %X/%X after %ld seconds" -msgstr "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunden" +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunde" +msgstr[1] "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunden" -#: postmaster/walsummarizer.c:758 +#: postmaster/walsummarizer.c:760 #, c-format msgid "Summarization has reached %X/%X on disk and %X/%X in memory." msgstr "Zusammenfassung hat %X/%X auf Festplatte und %X/%X im Speicher erreicht." -#: postmaster/walsummarizer.c:998 +#: postmaster/walsummarizer.c:1000 #, c-format msgid "could not find a valid record after %X/%X" msgstr "konnte keinen gültigen Datensatz nach %X/%X finden" -#: postmaster/walsummarizer.c:1043 +#: postmaster/walsummarizer.c:1045 #, c-format msgid "could not read WAL from timeline %u at %X/%X: %s" msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen: %s" -#: postmaster/walsummarizer.c:1049 +#: postmaster/walsummarizer.c:1051 #, c-format msgid "could not read WAL from timeline %u at %X/%X" msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen" -#: postmaster/walsummarizer.c:1220 -#, c-format -msgid "summarized WAL on TLI %u from %X/%X to %X/%X" -msgstr "" - -#: postmaster/walsummarizer.c:1232 -#, c-format -msgid "skipped summarizing WAL on TLI %u from %X/%X to %X/%X" -msgstr "" - -#: postmaster/walsummarizer.c:1578 -#, c-format -msgid "timeline %u became historic, can read up to %X/%X" -msgstr "" - #: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" @@ -20998,10 +20752,11 @@ msgstr "logischer Replikations-Slot kann nicht in einer Transaktion erzeugt werd msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "physischer Replikations-Slot »%s« kann nicht für logisches Dekodieren verwendet werden" -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:542 replication/slot.c:798 +#: replication/slot.c:829 #, c-format -msgid "This slot is being synchronized from the primary server." -msgstr "Dieser Slot wird vom Primärserver synchronisiert." +msgid "This replication slot is being synchronized from the primary server." +msgstr "Dieser Replikations-Slot wird vom Primärserver synchronisiert." #: replication/logical/logical.c:543 #, c-format @@ -21206,157 +20961,144 @@ msgstr "Zielrelation für logische Replikation »%s.%s« verwendet Systemspalten msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "Zielrelation für logische Replikation »%s.%s« existiert nicht" -#: replication/logical/reorderbuffer.c:3970 +#: replication/logical/reorderbuffer.c:3994 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "konnte nicht in Datendatei für XID %u schreiben: %m" -#: replication/logical/reorderbuffer.c:4316 -#: replication/logical/reorderbuffer.c:4341 +#: replication/logical/reorderbuffer.c:4340 +#: replication/logical/reorderbuffer.c:4365 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %m" -#: replication/logical/reorderbuffer.c:4320 -#: replication/logical/reorderbuffer.c:4345 +#: replication/logical/reorderbuffer.c:4344 +#: replication/logical/reorderbuffer.c:4369 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %d statt %u Bytes gelesen" -#: replication/logical/reorderbuffer.c:4595 +#: replication/logical/reorderbuffer.c:4619 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "konnte Datei »%s« nicht löschen, bei Löschen von pg_replslot/%s/xid*: %m" -#: replication/logical/reorderbuffer.c:5091 +#: replication/logical/reorderbuffer.c:5115 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "konnte nicht aus Datei »%s« lesen: %d statt %d Bytes gelesen" #: replication/logical/slotsync.c:215 #, c-format -msgid "could not sync slot \"%s\" as remote slot precedes local slot" -msgstr "" +msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" +msgstr "konnte Replikations-Slot »%s« nicht synchronisieren, weil der Remote-Slot dem lokalen vorangeht" #: replication/logical/slotsync.c:217 #, c-format -msgid "Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u." -msgstr "" +msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u." +msgstr "Der Remote-Slot hat LSN %X/%X und Katalog-xmin %u, aber der lokale Slot hat LSN %X/%X und Katalog-xmin %u." #: replication/logical/slotsync.c:459 -#, fuzzy, c-format -#| msgid "dropped replication slot \"%s\" on publisher" -msgid "dropped replication slot \"%s\" of dbid %u" -msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht" +#, c-format +msgid "dropped replication slot \"%s\" of database with OID %u" +msgstr "Replikations-Slot »%s« von Datenbank mit OID %u wurde gelöscht" #: replication/logical/slotsync.c:579 -#, fuzzy, c-format -#| msgid "could not fsync file \"%s\": %m" -msgid "could not sync slot \"%s\"" -msgstr "konnte Datei »%s« nicht fsyncen: %m" +#, c-format +msgid "could not synchronize replication slot \"%s\"" +msgstr "konnte Replikations-Slot »%s« nicht synchronisieren" #: replication/logical/slotsync.c:580 -#, fuzzy, c-format -#| msgid "logical decoding found consistent point at %X/%X" -msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%X." -msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X" +#, c-format +msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X." +msgstr "Logisches Dekodieren konnte keinen konsistenten Punkt von der LSN des lokalen Slots %X/%X finden." #: replication/logical/slotsync.c:589 #, c-format -msgid "newly created slot \"%s\" is sync-ready now" -msgstr "" +msgid "newly created replication slot \"%s\" is sync-ready now" +msgstr "neu erzeugter Replikations-Slot »%s« ist jetzt bereit für die Synchronisierung" #: replication/logical/slotsync.c:628 #, c-format -msgid "skipping slot synchronization as the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" -msgstr "" +msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" +msgstr "Slot-Synchronisierung wird übersprungen, weil die empfangene Slot-Sync-LSN %X/%X für Slot »%s« der Position %X/%X des Standbys voraus ist" #: replication/logical/slotsync.c:650 #, c-format msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" -msgstr "" +msgstr "verlasse Slot-Synchronisierung, weil der gleiche Slot »%s« schon auf dem Standby existiert" #: replication/logical/slotsync.c:819 -#, fuzzy, c-format -#| msgid "could not receive timeline history file from the primary server: %s" +#, c-format msgid "could not fetch failover logical slots info from the primary server: %s" -msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s" +msgstr "konnte Informationen über logische Failover-Slots nicht vom Primärserver holen: %s" #: replication/logical/slotsync.c:965 -#, fuzzy, c-format -#| msgid "could not receive timeline history file from the primary server: %s" +#, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" -msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s" +msgstr "konnte Informationen über primary_slot_name »%s« nicht vom Primärserver holen: %s" #: replication/logical/slotsync.c:967 #, c-format msgid "Check if primary_slot_name is configured correctly." -msgstr "" +msgstr "Prüfen Sie, ob primary_slot_name korrekt konfiguriert ist." #: replication/logical/slotsync.c:987 -#, fuzzy, c-format -#| msgid "cannot copy a replication slot that doesn't reserve WAL" -msgid "cannot synchronize replication slots from a standby server" -msgstr "ein Replikations-Slot, der kein WAL reserviert, kann nicht kopiert werden" - -#: replication/logical/slotsync.c:995 #, c-format -msgid "slot synchronization requires valid primary_slot_name" -msgstr "" +msgid "cannot synchronize replication slots from a standby server" +msgstr "Replikations-Slots können nicht von einem Standby-Server synchronisiert werden" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:997 -#, fuzzy, c-format -#| msgid "publication %s does not exist on the publisher" -#| msgid_plural "publications %s do not exist on the publisher" -msgid "The replication slot \"%s\" specified by %s does not exist on the primary server." -msgstr "Publikation %s existiert auf dem Publikationsserver nicht" +#: replication/logical/slotsync.c:996 +#, c-format +msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" +msgstr "Replikations-Slot »%s«, der in »%s« angegeben ist, existiert auf dem Publikationsserver nicht" +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. #: replication/logical/slotsync.c:1029 -#, fuzzy, c-format -#| msgid "option %s requires option %s to be specified" -msgid "slot synchronization requires dbname to be specified in %s" -msgstr "Option %s erfordert, dass Option %s angegeben wird" +#, c-format +msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" +msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« in »%s« angegeben wird" #: replication/logical/slotsync.c:1050 -#, fuzzy, c-format -#| msgid "slot synchronization requires wal_level >= \"logical\"" -msgid "slot synchronization requires \"wal_level\" >= \"logical\"" -msgstr "logische Dekodierung erfordert wal_level >= »logical«" +#, c-format +msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" +msgstr "Replikations-Slot-Synchronisierung erfordert »wal_level« >= »logical«" +#. translator: %s is a GUC variable name #: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 -#, fuzzy, c-format -#| msgid "option %s requires option %s to be specified" -msgid "slot synchronization requires %s to be defined" -msgstr "Option %s erfordert, dass Option %s angegeben wird" +#, c-format +msgid "replication slot synchronization requires \"%s\" to be set" +msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« definiert ist" +#. translator: %s is a GUC variable name #: replication/logical/slotsync.c:1077 -#, fuzzy, c-format -#| msgid "option %s requires option %s to be specified" -msgid "slot synchronization requires %s to be enabled" -msgstr "Option %s erfordert, dass Option %s angegeben wird" +#, c-format +msgid "replication slot synchronization requires \"%s\" to be enabled" +msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« eingeschaltet ist" #. translator: %s is a GUC variable name #: replication/logical/slotsync.c:1129 #, c-format -msgid "slot sync worker will shutdown because %s is disabled" -msgstr "" +msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" +msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung wird herunterfahren, weil »%s« deaktiviert ist" #: replication/logical/slotsync.c:1138 -#, fuzzy, c-format -#| msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" -msgid "slot sync worker will restart because of a parameter change" -msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung" +#, c-format +msgid "replication slot synchronization worker will restart because of a parameter change" +msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung wird neu starten wegen einer Parameteränderung" #: replication/logical/slotsync.c:1162 #, c-format -msgid "slot sync worker is shutting down on receiving SIGINT" -msgstr "" +msgid "replication slot synchronization worker is shutting down on receiving SIGINT" +msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung fährt herunter, weil SIGINT empfangen wurde" #: replication/logical/slotsync.c:1287 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" -msgstr "" +msgstr "Replikations-Slots können nicht synchronisiert werden, während die Standby-Beförderung läuft" #: replication/logical/slotsync.c:1295 #, c-format @@ -21364,10 +21106,9 @@ msgid "cannot synchronize replication slots concurrently" msgstr "Replikations-Slots können nicht nebenläufig synchronisiert werden" #: replication/logical/slotsync.c:1403 -#, fuzzy, c-format -#| msgid "server started\n" +#, c-format msgid "slot sync worker started" -msgstr "Server gestartet\n" +msgstr "Slot-Sync-Arbeitsprozess gestartet" #: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 #: replication/walreceiver.c:307 @@ -21559,16 +21300,14 @@ msgid "logical replication worker for subscription \"%s\" will restart because o msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung" #: replication/logical/worker.c:3954 -#, fuzzy, c-format -#| msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because the subscription owner's superuser privileges have been revoked" -msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde" +msgstr "Parallel-Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Superuser-Privilegien des Eigentümers der Subskription entzogen wurden" #: replication/logical/worker.c:3958 -#, fuzzy, c-format -#| msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" +#, c-format msgid "logical replication worker for subscription \"%s\" will restart because the subscription owner's superuser privileges have been revoked" -msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde" +msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten, weil die Superuser-Privilegien des Eigentümers der Subskription entzogen wurden" #: replication/logical/worker.c:4478 #, c-format @@ -21595,62 +21334,62 @@ msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation f msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet" -#: replication/logical/worker.c:4734 +#: replication/logical/worker.c:4758 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "Subskription »%s« wurde wegen eines Fehlers deaktiviert" -#: replication/logical/worker.c:4782 +#: replication/logical/worker.c:4806 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "logische Replikation beginnt Überspringen von Transaktion bei %X/%X" -#: replication/logical/worker.c:4796 +#: replication/logical/worker.c:4820 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "logische Replikation beendet Überspringen von Transaktion bei %X/%X" -#: replication/logical/worker.c:4878 +#: replication/logical/worker.c:4902 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "Skip-LSN von Subskription »%s« gelöscht" -#: replication/logical/worker.c:4879 +#: replication/logical/worker.c:4903 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "Die WAL-Endposition (LSN) %X/%X der Remote-Transaktion stimmte nicht mit der Skip-LSN %X/%X überein." -#: replication/logical/worker.c:4905 +#: replication/logical/worker.c:4940 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s«" -#: replication/logical/worker.c:4909 +#: replication/logical/worker.c:4944 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u" -#: replication/logical/worker.c:4914 +#: replication/logical/worker.c:4949 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u, beendet bei %X/%X" -#: replication/logical/worker.c:4925 +#: replication/logical/worker.c:4960 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u" -#: replication/logical/worker.c:4932 +#: replication/logical/worker.c:4967 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u, beendet bei %X/%X" -#: replication/logical/worker.c:4943 +#: replication/logical/worker.c:4978 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u" -#: replication/logical/worker.c:4951 +#: replication/logical/worker.c:4986 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u, beendet bei %X/%X" @@ -21670,17 +21409,10 @@ msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs" msgid "invalid publication_names syntax" msgstr "ungültige Syntax für publication_names" -#: replication/pgoutput/pgoutput.c:407 -#, fuzzy, c-format -#| msgid "proto_version \"%s\" out of range" -msgid "proto_version option missing" -msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs" - -#: replication/pgoutput/pgoutput.c:411 -#, fuzzy, c-format -#| msgid "publication_names parameter missing" -msgid "publication_names option missing" -msgstr "Parameter »publication_names« fehlt" +#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411 +#, c-format +msgid "option \"%s\" missing" +msgstr "Option »%s« fehlt" #: replication/pgoutput/pgoutput.c:452 #, c-format @@ -21738,16 +21470,14 @@ msgid "Replication slot names may only contain lower case letters, numbers, and msgstr "Replikations-Slot-Namen dürfen nur Kleinbuchstaben, Zahlen und Unterstriche enthalten." #: replication/slot.c:333 -#, fuzzy, c-format -#| msgid "Sets the name of the replication slot to use on the sending server." +#, c-format msgid "cannot enable failover for a replication slot created on the standby" -msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server." +msgstr "Failover kann nicht für einen auf dem Standby erzeugten Replikations-Slot eingeschaltet werden" #: replication/slot.c:345 replication/slot.c:849 -#, fuzzy, c-format -#| msgid "cannot inherit from temporary relation \"%s\"" +#, c-format msgid "cannot enable failover for a temporary replication slot" -msgstr "von temporärer Relation »%s« kann nicht geerbt werden" +msgstr "Failover kann nicht für einen temporären Replikations-Slot eingeschaltet werden" #: replication/slot.c:370 #, c-format @@ -21776,39 +21506,30 @@ msgid "replication slot \"%s\" is active for PID %d" msgstr "Replikations-Slot »%s« ist aktiv für PID %d" #: replication/slot.c:638 -#, fuzzy, c-format -#| msgid "cannot copy unfinished logical replication slot \"%s\"" +#, c-format msgid "acquired logical replication slot \"%s\"" -msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren" +msgstr "logischer Replikations-Slot »%s« wurde akquiriert" #: replication/slot.c:640 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "acquired physical replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "physischer Replikations-Slot »%s« wurde akquiriert" #: replication/slot.c:729 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "released logical replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "logischer Replikations-Slot »%s« wurde freigegeben" #: replication/slot.c:731 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "released physical replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "physischer Replikations-Slot »%s« wurde freigegeben" #: replication/slot.c:797 #, c-format msgid "cannot drop replication slot \"%s\"" msgstr "kann Replikations-Slot »%s« nicht löschen" -#: replication/slot.c:798 replication/slot.c:829 -#, c-format -msgid "This slot is being synced from the primary server." -msgstr "Dieser Slot wird vom Primärserver synchronisiert." - #: replication/slot.c:816 #, c-format msgid "cannot use %s with a physical replication slot" @@ -21820,10 +21541,9 @@ msgid "cannot alter replication slot \"%s\"" msgstr "Replikations-Slot »%s« kann nicht geändert werden" #: replication/slot.c:838 -#, fuzzy, c-format -#| msgid "cannot use a logical replication slot for physical replication" +#, c-format msgid "cannot enable failover for a replication slot on the standby" -msgstr "logischer Replikations-Slot kann nicht für physische Replikation verwendet werden" +msgstr "Failover kann nicht für einen Replikations-Slot auf dem Standby eingeschaltet werden" #: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311 #, c-format @@ -21927,61 +21647,54 @@ msgid "\"%s\" is not a physical replication slot" msgstr "»%s« ist kein physischer Replikations-Slot" #: replication/slot.c:2638 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" does not exist" -msgid "replication slot \"%s\" specified in parameter %s does not exist" -msgstr "Replikations-Slot »%s« existiert nicht" +#, c-format +msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" +msgstr "Replikations-Slot »%s«, der in Parameter »%s« angegeben ist, existiert nicht" #: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" was not created in this database" -msgid "Logical replication is waiting on the standby associated with \"%s\"." -msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" +#, c-format +msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." +msgstr "Logische Replikation wartet auf den Standby, der zum Replikations-Slot »%s« gehört." #: replication/slot.c:2642 -#, fuzzy, c-format -#| msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgid "Consider creating the slot \"%s\" or amend parameter %s." -msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«." +#, c-format +msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." +msgstr "Erzeugen Sie den Replikations-Slot »%s« oder berichtigen Sie den Parameter »%s«." #: replication/slot.c:2659 -#, fuzzy, c-format -#| msgid "cannot copy unfinished logical replication slot \"%s\"" -msgid "cannot have logical replication slot \"%s\" in parameter %s" -msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren" +#, c-format +msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" +msgstr "logischer Replikations-Slot »%s« kann nicht in Parameter »%s« angegeben werden" #: replication/slot.c:2661 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" was not created in this database" -msgid "Logical replication is waiting for correction on \"%s\"." -msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" +#, c-format +msgid "Logical replication is waiting for correction on replication slot \"%s\"." +msgstr "Logische Replikation wartet auf Korrektur bei Replikations-Slot »%s«." #: replication/slot.c:2663 #, c-format -msgid "Consider removing logical slot \"%s\" from parameter %s." -msgstr "" +msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." +msgstr "Entfernen Sie den Replikations-Slot »%s« aus dem Parameter »%s«." #: replication/slot.c:2679 #, c-format -msgid "physical slot \"%s\" specified in parameter %s has been invalidated" -msgstr "" +msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" +msgstr "der physische Replikations-Slot »%s«, der in Parameter »%s« angegeben wurde, wurde ungültig gemacht" #: replication/slot.c:2683 -#, fuzzy, c-format -#| msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgid "Consider dropping and recreating the slot \"%s\" or amend parameter %s." -msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«." +#, c-format +msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "Löschen Sie den Replikations-Slot »%s« und erzeugen Sie ihn neu, oder berichtigen Sie den Parameter »%s«." #: replication/slot.c:2694 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" was not created in this database" -msgid "replication slot \"%s\" specified in parameter %s does not have active_pid" -msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" +#, c-format +msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" +msgstr "der Replikations-Slot »%s«, der in Parameter »%s« angegeben wurde, hat keine active_pid" #: replication/slot.c:2698 #, c-format -msgid "Consider starting standby associated with \"%s\" or amend parameter %s." -msgstr "" +msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "Starten Sie den zum Replikations-Slot »%s« gehörenden Standby oder berichtigen Sie den Parameter »%s«." #: replication/slotfuncs.c:526 #, c-format @@ -22039,10 +21752,9 @@ msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Versuchen Sie es erneut, wenn confirmed_flush_lsn des Quell-Replikations-Slots gültig ist." #: replication/slotfuncs.c:877 -#, fuzzy, c-format -#| msgid "replication slots can only be used with WAL streaming" +#, c-format msgid "replication slots can only be synchronized to a standby server" -msgstr "Replikations-Slots können nur mit WAL-Streaming verwendet werden" +msgstr "Replikations-Slots können nur zu einem Standby-Server synchronisiert werden" #: replication/syncrep.c:261 #, c-format @@ -22245,9 +21957,9 @@ msgstr "im WAL-Sender für physische Replikation können keine SQL-Befehle ausge msgid "received replication command: %s" msgstr "Replikationsbefehl empfangen: %s" -#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2206 -#: tcop/postgres.c:2644 tcop/postgres.c:2721 +#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1142 +#: tcop/postgres.c:1500 tcop/postgres.c:1740 tcop/postgres.c:2210 +#: tcop/postgres.c:2648 tcop/postgres.c:2725 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert" @@ -22448,267 +22160,271 @@ msgstr "Regel »%s« für Relation »%s« existiert nicht" msgid "renaming an ON SELECT rule is not allowed" msgstr "Umbenennen einer ON-SELECT-Regel ist nicht erlaubt" -#: rewrite/rewriteHandler.c:581 +#: rewrite/rewriteHandler.c:582 #, c-format msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "WITH-Anfragename »%s« erscheint sowohl in der Regelaktion als auch in der umzuschreibenden Anfrage" -#: rewrite/rewriteHandler.c:608 +#: rewrite/rewriteHandler.c:609 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "INSERT ... SELECT-Regelaktionen werden für Anfrangen mit datenmodifizierenden Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:661 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING-Listen können nicht in mehreren Regeln auftreten" -#: rewrite/rewriteHandler.c:893 rewrite/rewriteHandler.c:932 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "kann keinen Wert außer DEFAULT in Spalte »%s« einfügen" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:961 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "Spalte »%s« ist eine Identitätsspalte, die als GENERATED ALWAYS definiert ist." -#: rewrite/rewriteHandler.c:897 +#: rewrite/rewriteHandler.c:898 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Verwenden Sie OVERRIDING SYSTEM VALUE, um diese Einschränkung außer Kraft zu setzen." -#: rewrite/rewriteHandler.c:959 rewrite/rewriteHandler.c:967 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden" -#: rewrite/rewriteHandler.c:1114 rewrite/rewriteHandler.c:1132 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "mehrere Zuweisungen zur selben Spalte »%s«" -#: rewrite/rewriteHandler.c:1697 +#: rewrite/rewriteHandler.c:1698 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE wird für Relationen mit Regeln nicht unterstützt." -#: rewrite/rewriteHandler.c:2110 rewrite/rewriteHandler.c:4204 +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "Zugriff auf Nicht-System-Sicht »%s« ist beschränkt" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«" -#: rewrite/rewriteHandler.c:2195 +#: rewrite/rewriteHandler.c:2204 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Policys für Relation »%s«" -#: rewrite/rewriteHandler.c:2547 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "Junk-Sichtspalten sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2552 +#: rewrite/rewriteHandler.c:2561 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Sichtspalten, die nicht Spalten ihrer Basisrelation sind, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2555 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "Sichtspalten, die auf Systemspalten verweisen, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2558 +#: rewrite/rewriteHandler.c:2567 msgid "View columns that return whole-row references are not updatable." msgstr "Sichtspalten, die Verweise auf ganze Zeilen zurückgeben, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2619 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Sichten, die DISTINCT enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2622 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Sichten, die GROUP BY enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2625 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "Sichten, die HAVING enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2628 +#: rewrite/rewriteHandler.c:2637 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Sichten, die UNION, INTERSECT oder EXCEPT enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2631 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "Sichten, die WITH enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2634 +#: rewrite/rewriteHandler.c:2643 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Sichten, die LIMIT oder OFFSET enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2646 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Sichten, die Aggregatfunktionen zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2649 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "Sichten, die Fensterfunktionen zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2652 +#: rewrite/rewriteHandler.c:2661 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Sichten, die Funktionen mit Ergebnismenge zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2659 rewrite/rewriteHandler.c:2663 -#: rewrite/rewriteHandler.c:2671 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2680 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Sichten, die nicht aus einer einzigen Tabelle oder Sicht lesen, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2674 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Sichten, die TABLESAMPLE enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2698 +#: rewrite/rewriteHandler.c:2707 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Sichten, die keine aktualisierbaren Spalten haben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:3079 rewrite/rewriteHandler.c:3114 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kann nicht in Sicht »%s« einfügen" -#: rewrite/rewriteHandler.c:3082 +#: rewrite/rewriteHandler.c:3091 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "Um Einfügen in die Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger oder eine ON INSERT DO INSTEAD Regel ohne Bedingung ein." -#: rewrite/rewriteHandler.c:3087 rewrite/rewriteHandler.c:3123 +#: rewrite/rewriteHandler.c:3096 rewrite/rewriteHandler.c:3132 #, c-format msgid "cannot update view \"%s\"" msgstr "kann Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3090 +#: rewrite/rewriteHandler.c:3099 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "Um Aktualisieren der Sicht zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger oder eine ON UPDATE DO INSTEAD Regel ohne Bedingung ein." -#: rewrite/rewriteHandler.c:3095 rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3104 rewrite/rewriteHandler.c:3141 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kann nicht aus Sicht »%s« löschen" -#: rewrite/rewriteHandler.c:3098 +#: rewrite/rewriteHandler.c:3107 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger oder eine ON DELETE DO INSTEAD Regel ohne Bedingung ein." -#: rewrite/rewriteHandler.c:3117 +#: rewrite/rewriteHandler.c:3126 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "Um Einfügen in die Sicht mit MERGE zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger ein." -#: rewrite/rewriteHandler.c:3126 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "Um Aktualisieren der Sicht mit MERGE zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger ein." -#: rewrite/rewriteHandler.c:3135 +#: rewrite/rewriteHandler.c:3144 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger ein." -#: rewrite/rewriteHandler.c:3302 +#: rewrite/rewriteHandler.c:3319 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen" -#: rewrite/rewriteHandler.c:3310 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3318 +#: rewrite/rewriteHandler.c:3335 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "kann nicht in Spalte »%s« von Sicht »%s« mergen" -#: rewrite/rewriteHandler.c:3346 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot merge into view \"%s\"" msgstr "kann nicht in Sicht »%s« mergen" -#: rewrite/rewriteHandler.c:3348 +#: rewrite/rewriteHandler.c:3365 #, c-format -msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others." -msgstr "" +msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." +msgstr "MERGE wird nicht unterstützt für Sichten mit INSTEAD-OF-Trigger für einige Aktionen aber nicht für alle." -#: rewrite/rewriteHandler.c:3349 -#, fuzzy, c-format -#| msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." +#: rewrite/rewriteHandler.c:3366 +#, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." -msgstr "Um Einfügen in die Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger oder eine ON INSERT DO INSTEAD Regel ohne Bedingung ein." +msgstr "Um Mergen in die Sicht zu ermöglichen, richten Sie entweder einen vollen Satz an INSTEAD-OF-Triggern ein oder löschen Sie die bestehenden INSTEAD-OF-Trigger." -#: rewrite/rewriteHandler.c:3862 +#: rewrite/rewriteHandler.c:3879 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-NOTIFY-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3873 +#: rewrite/rewriteHandler.c:3890 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-NOTHING-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3887 +#: rewrite/rewriteHandler.c:3904 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-Regeln mit Bedingung werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3891 +#: rewrite/rewriteHandler.c:3908 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "DO-ALSO-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3896 +#: rewrite/rewriteHandler.c:3913 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:4156 +#: rewrite/rewriteHandler.c:4173 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Sichten mit DO-INSTEAD-Regeln mit Bedingung sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:4253 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4255 +#: rewrite/rewriteHandler.c:4272 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "Sie benötigen eine ON INSERT DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel." -#: rewrite/rewriteHandler.c:4260 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4262 +#: rewrite/rewriteHandler.c:4279 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "Sie benötigen eine ON UPDATE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel." -#: rewrite/rewriteHandler.c:4267 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4269 +#: rewrite/rewriteHandler.c:4286 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "Sie benötigen eine ON DELETE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel." -#: rewrite/rewriteHandler.c:4287 +#: rewrite/rewriteHandler.c:4304 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT mit ON-CONFLICT-Klausel kann nicht mit Tabelle verwendet werden, die INSERT- oder UPDATE-Regeln hat" -#: rewrite/rewriteHandler.c:4344 +#: rewrite/rewriteHandler.c:4361 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in mehrere Anfragen umgeschrieben wird" @@ -22718,12 +22434,12 @@ msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in m msgid "conditional utility statements are not implemented" msgstr "Utility-Anweisungen mit Bedingung sind nicht implementiert" -#: rewrite/rewriteManip.c:1427 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "WHERE CURRENT OF mit einer Sicht ist nicht implementiert" -#: rewrite/rewriteManip.c:1762 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, die Teil einer Mehrfachzuweisung in dem UPDATE-Befehl sind" @@ -23201,15 +22917,14 @@ msgid "DSM segment name too long" msgstr "DSN-Segmentname zu lang" #: storage/ipc/dsm_registry.c:150 -#, fuzzy, c-format -#| msgid "WAL segment size could not be parsed" +#, c-format msgid "DSM segment size must be nonzero" -msgstr "WAL-Segmentgröße konnte nicht interpretiert werden" +msgstr "DSM-Segmentgröße darf nicht null sein" #: storage/ipc/dsm_registry.c:176 #, c-format msgid "requested DSM segment size does not match size of existing segment" -msgstr "" +msgstr "angeforderte DSM-Segmentgröße stimmt nicht mit der Größe des existierenden Segments überein" #: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 #: tcop/backend_startup.c:304 @@ -23346,12 +23061,12 @@ msgstr "Wiederherstellung wartet immer noch nach %ld,%03d ms: %s" msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "Warten der Wiederherstellung beendet nach %ld,%03d ms: %s" -#: storage/ipc/standby.c:920 tcop/postgres.c:3168 +#: storage/ipc/standby.c:920 tcop/postgres.c:3172 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung" -#: storage/ipc/standby.c:921 tcop/postgres.c:2529 +#: storage/ipc/standby.c:921 tcop/postgres.c:2533 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "Benutzertransaktion hat Verklemmung (Deadlock) mit Wiederherstellung verursacht." @@ -23780,7 +23495,7 @@ msgstr "das Datenbanksystem ist im Wiederherstellungsmodus" #: tcop/backend_startup.c:414 #, c-format msgid "received direct SSL connection request without ALPN protocol negotiation extension" -msgstr "" +msgstr "direkte SSL-Verbindungsanfrage ohne ALPN-Protokollerweiterung empfangen" #: tcop/backend_startup.c:420 #, c-format @@ -23805,12 +23520,12 @@ msgstr "ungültige Länge des Startpakets" #: tcop/backend_startup.c:573 #, c-format msgid "SSLRequest accepted" -msgstr "" +msgstr "SSLRequest akzeptiert" #: tcop/backend_startup.c:576 #, c-format msgid "SSLRequest rejected" -msgstr "" +msgstr "SSLRequest abgelehnt" #: tcop/backend_startup.c:585 #, c-format @@ -23830,12 +23545,12 @@ msgstr "Das könnte entweder ein Fehler in der Client-Software oder ein Hinweis #: tcop/backend_startup.c:627 #, c-format msgid "GSSENCRequest accepted" -msgstr "" +msgstr "GSSENCRequest akzeptiert" #: tcop/backend_startup.c:630 #, c-format msgid "GSSENCRequest rejected" -msgstr "" +msgstr "GSSENCRequest abgelehnt" #: tcop/backend_startup.c:639 #, c-format @@ -23882,8 +23597,8 @@ msgstr "Funktion »%s« kann nicht via Fastpath-Interface aufgerufen werden" msgid "fastpath function call: \"%s\" (OID %u)" msgstr "Fastpath-Funktionsaufruf: »%s« (OID %u)" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2055 tcop/postgres.c:2305 +#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605 +#: tcop/postgres.c:2059 tcop/postgres.c:2309 #, c-format msgid "duration: %s ms" msgstr "Dauer: %s ms" @@ -23913,320 +23628,320 @@ msgstr "ungültige Argumentgröße %d in Funktionsaufruf-Message" msgid "incorrect binary data format in function argument %d" msgstr "falsches Binärdatenformat in Funktionsargument %d" -#: tcop/postgres.c:463 tcop/postgres.c:4924 +#: tcop/postgres.c:467 tcop/postgres.c:4988 #, c-format msgid "invalid frontend message type %d" msgstr "ungültiger Frontend-Message-Typ %d" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1076 #, c-format msgid "statement: %s" msgstr "Anweisung: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1374 #, c-format msgid "duration: %s ms statement: %s" msgstr "Dauer: %s ms Anweisung: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1480 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "kann nicht mehrere Befehle in vorbereitete Anweisung einfügen" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1610 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "Dauer: %s ms Parsen %s: %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2625 +#: tcop/postgres.c:1676 tcop/postgres.c:2629 #, c-format msgid "unnamed prepared statement does not exist" msgstr "unbenannte vorbereitete Anweisung existiert nicht" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1717 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "Binden-Nachricht hat %d Parameterformate aber %d Parameter" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1723 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "Binden-Nachricht enthält %d Parameter, aber vorbereitete Anweisung »%s« erfordert %d" -#: tcop/postgres.c:1933 +#: tcop/postgres.c:1937 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "falsches Binärdatenformat in Binden-Parameter %d" -#: tcop/postgres.c:2060 +#: tcop/postgres.c:2064 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "Dauer: %s ms Binden %s%s%s: %s" -#: tcop/postgres.c:2114 tcop/postgres.c:2707 +#: tcop/postgres.c:2118 tcop/postgres.c:2711 #, c-format msgid "portal \"%s\" does not exist" msgstr "Portal »%s« existiert nicht" -#: tcop/postgres.c:2185 +#: tcop/postgres.c:2189 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2187 tcop/postgres.c:2313 +#: tcop/postgres.c:2191 tcop/postgres.c:2317 msgid "execute fetch from" msgstr "Ausführen Fetch von" -#: tcop/postgres.c:2188 tcop/postgres.c:2314 +#: tcop/postgres.c:2192 tcop/postgres.c:2318 msgid "execute" msgstr "Ausführen" -#: tcop/postgres.c:2310 +#: tcop/postgres.c:2314 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "Dauer: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2458 +#: tcop/postgres.c:2462 #, c-format msgid "prepare: %s" msgstr "Vorbereiten: %s" -#: tcop/postgres.c:2483 +#: tcop/postgres.c:2487 #, c-format msgid "Parameters: %s" msgstr "Parameter: %s" -#: tcop/postgres.c:2498 +#: tcop/postgres.c:2502 #, c-format msgid "Abort reason: recovery conflict" msgstr "Abbruchgrund: Konflikt bei Wiederherstellung" -#: tcop/postgres.c:2514 +#: tcop/postgres.c:2518 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Benutzer hat Shared-Buffer-Pin zu lange gehalten." -#: tcop/postgres.c:2517 +#: tcop/postgres.c:2521 #, c-format msgid "User was holding a relation lock for too long." msgstr "Benutzer hat Relationssperre zu lange gehalten." -#: tcop/postgres.c:2520 +#: tcop/postgres.c:2524 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "Benutzer hat (möglicherweise) einen Tablespace verwendet, der gelöscht werden muss." -#: tcop/postgres.c:2523 +#: tcop/postgres.c:2527 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "Benutzeranfrage hat möglicherweise Zeilenversionen sehen müssen, die entfernt werden müssen." -#: tcop/postgres.c:2526 +#: tcop/postgres.c:2530 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "Benutzer verwendete einen logischen Replikations-Slot, der ungültig gemacht werden muss." -#: tcop/postgres.c:2532 +#: tcop/postgres.c:2536 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Benutzer war mit einer Datenbank verbunden, die gelöscht werden muss." -#: tcop/postgres.c:2571 +#: tcop/postgres.c:2575 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "Portal »%s« Parameter $%d = %s" -#: tcop/postgres.c:2574 +#: tcop/postgres.c:2578 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "Portal »%s« Parameter $%d" -#: tcop/postgres.c:2580 +#: tcop/postgres.c:2584 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "unbenanntes Portal Parameter $%d = %s" -#: tcop/postgres.c:2583 +#: tcop/postgres.c:2587 #, c-format msgid "unnamed portal parameter $%d" msgstr "unbenanntes Portal Parameter $%d" -#: tcop/postgres.c:2927 +#: tcop/postgres.c:2931 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "Verbindung wird abgebrochen wegen unerwartetem SIGQUIT-Signal" -#: tcop/postgres.c:2933 +#: tcop/postgres.c:2937 #, c-format msgid "terminating connection because of crash of another server process" msgstr "Verbindung wird abgebrochen wegen Absturz eines anderen Serverprozesses" -#: tcop/postgres.c:2934 +#: tcop/postgres.c:2938 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Der Postmaster hat diesen Serverprozess angewiesen, die aktuelle Transaktion zurückzurollen und die Sitzung zu beenden, weil ein anderer Serverprozess abnormal beendet wurde und möglicherweise das Shared Memory verfälscht hat." -#: tcop/postgres.c:2938 tcop/postgres.c:3191 +#: tcop/postgres.c:2942 tcop/postgres.c:3195 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "In einem Moment sollten Sie wieder mit der Datenbank verbinden und Ihren Befehl wiederholen können." -#: tcop/postgres.c:2945 +#: tcop/postgres.c:2949 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "Verbindung wird abgebrochen aufgrund von Befehl für sofortiges Herunterfahren" -#: tcop/postgres.c:3023 +#: tcop/postgres.c:3027 #, c-format msgid "floating-point exception" msgstr "Fließkommafehler" -#: tcop/postgres.c:3024 +#: tcop/postgres.c:3028 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "Eine ungültige Fließkommaoperation wurde signalisiert. Das bedeutet wahrscheinlich ein Ergebnis außerhalb des gültigen Bereichs oder eine ungültige Operation, zum Beispiel Division durch null." -#: tcop/postgres.c:3189 +#: tcop/postgres.c:3193 #, c-format msgid "terminating connection due to conflict with recovery" msgstr "Verbindung wird abgebrochen wegen Konflikt mit der Wiederherstellung" -#: tcop/postgres.c:3261 +#: tcop/postgres.c:3265 #, c-format msgid "canceling authentication due to timeout" msgstr "storniere Authentifizierung wegen Zeitüberschreitung" -#: tcop/postgres.c:3265 +#: tcop/postgres.c:3269 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "Autovacuum-Prozess wird abgebrochen aufgrund von Anweisung des Administrators" -#: tcop/postgres.c:3269 +#: tcop/postgres.c:3273 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "Arbeitsprozess für logische Replikation wird abgebrochen aufgrund von Anweisung des Administrators" -#: tcop/postgres.c:3289 +#: tcop/postgres.c:3293 #, c-format msgid "terminating connection due to administrator command" msgstr "Verbindung wird abgebrochen aufgrund von Anweisung des Administrators" -#: tcop/postgres.c:3320 +#: tcop/postgres.c:3324 #, c-format msgid "connection to client lost" msgstr "Verbindung zum Client wurde verloren" -#: tcop/postgres.c:3372 +#: tcop/postgres.c:3376 #, c-format msgid "canceling statement due to lock timeout" msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre" -#: tcop/postgres.c:3379 +#: tcop/postgres.c:3383 #, c-format msgid "canceling statement due to statement timeout" msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage" -#: tcop/postgres.c:3386 +#: tcop/postgres.c:3390 #, c-format msgid "canceling autovacuum task" msgstr "storniere Autovacuum-Aufgabe" -#: tcop/postgres.c:3399 +#: tcop/postgres.c:3403 #, c-format msgid "canceling statement due to user request" msgstr "storniere Anfrage wegen Benutzeraufforderung" -#: tcop/postgres.c:3420 +#: tcop/postgres.c:3424 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Transaktion" -#: tcop/postgres.c:3433 +#: tcop/postgres.c:3437 #, c-format msgid "terminating connection due to transaction timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in Transaktion" -#: tcop/postgres.c:3446 +#: tcop/postgres.c:3450 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Sitzung" -#: tcop/postgres.c:3536 +#: tcop/postgres.c:3540 #, c-format msgid "stack depth limit exceeded" msgstr "Grenze für Stacktiefe überschritten" -#: tcop/postgres.c:3537 +#: tcop/postgres.c:3541 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Erhöhen Sie den Konfigurationsparameter »max_stack_depth« (aktuell %dkB), nachdem Sie sichergestellt haben, dass die Stacktiefenbegrenzung Ihrer Plattform ausreichend ist." -#: tcop/postgres.c:3584 +#: tcop/postgres.c:3588 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "»max_stack_depth« darf %ldkB nicht überschreiten." -#: tcop/postgres.c:3586 +#: tcop/postgres.c:3590 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Erhöhen Sie die Stacktiefenbegrenzung Ihrer Plattform mit »ulimit -s« oder der lokalen Entsprechung." -#: tcop/postgres.c:3609 +#: tcop/postgres.c:3613 #, c-format msgid "\"client_connection_check_interval\" must be set to 0 on this platform." msgstr "»client_connection_check_interval« muss auf dieser Plattform auf 0 gesetzt sein." -#: tcop/postgres.c:3630 +#: tcop/postgres.c:3634 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Kann Parameter nicht einschalten, wenn »log_statement_stats« an ist." -#: tcop/postgres.c:3645 +#: tcop/postgres.c:3649 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Kann »log_statement_stats« nicht einschalten, wenn »log_parser_stats«, »log_planner_stats« oder »log_executor_stats« an ist." -#: tcop/postgres.c:4010 +#: tcop/postgres.c:4074 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s" -#: tcop/postgres.c:4011 tcop/postgres.c:4017 +#: tcop/postgres.c:4075 tcop/postgres.c:4081 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: tcop/postgres.c:4015 +#: tcop/postgres.c:4079 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: ungültiges Kommandozeilenargument: %s" -#: tcop/postgres.c:4068 +#: tcop/postgres.c:4132 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: weder Datenbankname noch Benutzername angegeben" -#: tcop/postgres.c:4821 +#: tcop/postgres.c:4885 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "ungültiger Subtyp %d von CLOSE-Message" -#: tcop/postgres.c:4858 +#: tcop/postgres.c:4922 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "ungültiger Subtyp %d von DESCRIBE-Message" -#: tcop/postgres.c:4945 +#: tcop/postgres.c:5009 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "Fastpath-Funktionsaufrufe werden auf einer Replikationsverbindung nicht unterstützt" -#: tcop/postgres.c:4949 +#: tcop/postgres.c:5013 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "erweitertes Anfrageprotokoll wird nicht auf einer Replikationsverbindung unterstützt" -#: tcop/postgres.c:5129 +#: tcop/postgres.c:5193 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "Verbindungsende: Sitzungszeit: %d:%02d:%02d.%03d Benutzer=%s Datenbank=%s Host=%s%s%s" @@ -24582,16 +24297,14 @@ msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "bestehende Statistiken für Art %s, db=%u, oid=%u werden zurückgesetzt" #: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 -#, fuzzy, c-format -#| msgid "type \"%s\" already exists in schema \"%s\"" +#, c-format msgid "wait event \"%s\" already exists in type \"%s\"" -msgstr "Typ %s existiert bereits in Schema »%s«" +msgstr "Wait-Event »%s« existiert bereits in Typ »%s«" #: utils/activity/wait_event.c:246 -#, fuzzy, c-format -#| msgid "too many arguments" +#, c-format msgid "too many custom wait events" -msgstr "zu viele Argumente" +msgstr "zu viele benutzerdefinierte Wait-Events" #: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format @@ -24861,10 +24574,9 @@ msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "Mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben." #: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905 -#, fuzzy, c-format -#| msgid "Unexpected array element." +#, c-format msgid "Incorrectly quoted array element." -msgstr "Unerwartetes Arrayelement." +msgstr "Inkorrekt gequotetes Arrayelement." #: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165 #: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472 @@ -25238,22 +24950,19 @@ msgid "time field value out of range: %d:%02d:%02g" msgstr "Zeit-Feldwert ist außerhalb des gültigen Bereichs: %d:%02d:%02g" #: utils/adt/date.c:2020 -#, fuzzy, c-format -#| msgid "cannot convert infinity to %s" +#, c-format msgid "cannot convert infinite interval to time" -msgstr "kann Unendlich nicht in %s umwandeln" +msgstr "kann unendlichen interval-Wert nicht in time umwandeln" #: utils/adt/date.c:2061 utils/adt/date.c:2605 -#, fuzzy, c-format -#| msgid "cannot subtract infinite dates" +#, c-format msgid "cannot add infinite interval to time" -msgstr "kann unendliche date-Werte nicht subtrahieren" +msgstr "kann unendlichen interval-Wert nicht zu time addieren" #: utils/adt/date.c:2084 utils/adt/date.c:2632 -#, fuzzy, c-format -#| msgid "cannot subtract infinite dates" +#, c-format msgid "cannot subtract infinite interval from time" -msgstr "kann unendliche date-Werte nicht subtrahieren" +msgstr "kann unendlichen interval-Wert nicht von time subtrahieren" #: utils/adt/date.c:2115 utils/adt/date.c:2667 utils/adt/float.c:1036 #: utils/adt/float.c:1112 utils/adt/int.c:635 utils/adt/int.c:682 @@ -25684,10 +25393,9 @@ msgid "unmatched format character \"%s\"" msgstr "Formatzeichen »%s« ohne passende Eingabe" #: utils/adt/formatting.c:3652 -#, fuzzy, c-format -#| msgid "time zone \"%s\" not recognized" +#, c-format msgid "Time zone abbreviation is not recognized." -msgstr "Zeitzone »%s« nicht erkannt" +msgstr "Zeitzonenabkürzung wird nicht erkannt." #: utils/adt/formatting.c:3853 #, c-format @@ -26286,16 +25994,15 @@ msgid "jsonpath item method .%s() can only be applied to an array" msgstr "Jsonpath-Item-Methode .%s() kann nur auf ein Array angewendet werden" #: utils/adt/jsonpath_exec.c:1166 utils/adt/jsonpath_exec.c:1192 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type double precision" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ double precision" #: utils/adt/jsonpath_exec.c:1171 utils/adt/jsonpath_exec.c:1197 #: utils/adt/jsonpath_exec.c:1413 utils/adt/jsonpath_exec.c:1445 #, c-format msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" -msgstr "" +msgstr "NaN oder unendliche Werte sind für JSON-Path-Item-Methode .%s() nicht erlaubt" #: utils/adt/jsonpath_exec.c:1210 utils/adt/jsonpath_exec.c:1312 #: utils/adt/jsonpath_exec.c:1454 utils/adt/jsonpath_exec.c:1592 @@ -26304,52 +26011,44 @@ msgid "jsonpath item method .%s() can only be applied to a string or numeric val msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" #: utils/adt/jsonpath_exec.c:1280 utils/adt/jsonpath_exec.c:1304 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ bigint" #: utils/adt/jsonpath_exec.c:1356 utils/adt/jsonpath_exec.c:1376 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ boolean" #: utils/adt/jsonpath_exec.c:1385 -#, fuzzy, c-format -#| msgid "jsonpath item method .%s() can only be applied to a string or numeric value" -msgid "jsonpath item method .%s() can only be applied to a bool, string, or numeric value" -msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" +#, c-format +msgid "jsonpath item method .%s() can only be applied to a boolean, string, or numeric value" +msgstr "JSON-Path-Item-Methode .%s() kann nur auf boolean, eine Zeichenkette oder einen numerischen Wert angewendet werden" #: utils/adt/jsonpath_exec.c:1438 utils/adt/jsonpath_exec.c:1527 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ numeric" #: utils/adt/jsonpath_exec.c:1486 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "precision of jsonpath item method .%s() is out of range for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Präzision der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ integer" #: utils/adt/jsonpath_exec.c:1500 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "scale of jsonpath item method .%s() is out of range for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Skala der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ integer" #: utils/adt/jsonpath_exec.c:1560 utils/adt/jsonpath_exec.c:1584 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ integer" #: utils/adt/jsonpath_exec.c:1666 -#, fuzzy, c-format -#| msgid "jsonpath item method .%s() can only be applied to a string or numeric value" -msgid "jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value" -msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" +#, c-format +msgid "jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value" +msgstr "JSON-Path-Item-Methode .%s() kann nur auf boolean, eine Zeichenkette, einen numerischen Wert oder einen datetime-Wert angewendet werden" #: utils/adt/jsonpath_exec.c:2155 #, c-format @@ -26377,19 +26076,17 @@ msgid "jsonpath item method .%s() can only be applied to a string" msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette angewendet werden" #: utils/adt/jsonpath_exec.c:2468 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "time precision of jsonpath item method .%s() is out of range for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Zeitpräzision der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ integer" #: utils/adt/jsonpath_exec.c:2502 utils/adt/jsonpath_exec.c:2508 #: utils/adt/jsonpath_exec.c:2535 utils/adt/jsonpath_exec.c:2563 #: utils/adt/jsonpath_exec.c:2616 utils/adt/jsonpath_exec.c:2667 #: utils/adt/jsonpath_exec.c:2738 -#, fuzzy, c-format -#| msgid "datetime format is not recognized: \"%s\"" +#, c-format msgid "%s format is not recognized: \"%s\"" -msgstr "Datum-/Zeitformat nicht erkannt: »%s«" +msgstr "%s-Format wird nicht erkannt: »%s«" #: utils/adt/jsonpath_exec.c:2504 #, c-format @@ -26397,10 +26094,9 @@ msgid "Use a datetime template argument to specify the input data format." msgstr "Verwenden Sie das Template-Argument für .datetime(), um das Eingabeformat anzugeben." #: utils/adt/jsonpath_exec.c:2697 utils/adt/jsonpath_exec.c:2778 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#, c-format msgid "time precision of jsonpath item method .%s() is invalid" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Zeitpräzision der JSON-Path-Item-Methode .%s() ist ungültig" #: utils/adt/jsonpath_exec.c:2858 #, c-format @@ -26408,10 +26104,9 @@ msgid "jsonpath item method .%s() can only be applied to an object" msgstr "JSON-Path-Item-Methode .%s() kann nur auf ein Objekt angewendet werden" #: utils/adt/jsonpath_exec.c:3142 -#, fuzzy, c-format -#| msgid "%s could not convert type %s to %s" +#, c-format msgid "could not convert value of type %s to jsonpath" -msgstr "%s konnte Typ %s nicht in %s umwandeln" +msgstr "konnte Wert vom Typ %s nicht in jsonpath umwandeln" #: utils/adt/jsonpath_exec.c:3176 #, c-format @@ -26451,27 +26146,27 @@ msgstr "Verwenden Sie die *_tz()-Funktion für Zeitzonenunterstützung." #: utils/adt/jsonpath_exec.c:3985 #, c-format msgid "JSON path expression for column \"%s\" should return single item without wrapper" -msgstr "" +msgstr "JSON-Path-Ausdruck für Spalte »%s« sollte ein einzelnes Element ohne Wrapper zurückgeben" #: utils/adt/jsonpath_exec.c:3987 utils/adt/jsonpath_exec.c:3992 #, c-format -msgid "Use WITH WRAPPER clause to wrap SQL/JSON items into array." -msgstr "" +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." +msgstr "Verwenden Sie die WITH-WRAPPER-Klausel, um SQL/JSON-Elemente in ein Array einzupacken." #: utils/adt/jsonpath_exec.c:3991 #, c-format msgid "JSON path expression in JSON_QUERY should return single item without wrapper" -msgstr "" +msgstr "JSON-Pfad-Ausdruck in JSON_QUERY sollte ein einzelnes Element ohne Wrapper zurückgeben" #: utils/adt/jsonpath_exec.c:4049 utils/adt/jsonpath_exec.c:4073 #, c-format msgid "JSON path expression for column \"%s\" should return single scalar item" -msgstr "" +msgstr "JSON-Path-Ausdruck für Spalte »%s« sollte ein einzelnes skalares Element zurückgeben" #: utils/adt/jsonpath_exec.c:4054 utils/adt/jsonpath_exec.c:4078 #, c-format msgid "JSON path expression in JSON_VALUE should return single scalar item" -msgstr "" +msgstr "JSON-Pfad-Ausdruck in JSON_VALUE sollte ein einzelnes skalares Element zurückgeben" #: utils/adt/levenshtein.c:132 #, c-format @@ -27157,7 +26852,7 @@ msgstr "Wenn Sie regexp_replace() mit einem Startparameter verwenden wollten, wa #: utils/adt/regexp.c:716 utils/adt/regexp.c:725 utils/adt/regexp.c:1082 #: utils/adt/regexp.c:1146 utils/adt/regexp.c:1155 utils/adt/regexp.c:1164 #: utils/adt/regexp.c:1173 utils/adt/regexp.c:1853 utils/adt/regexp.c:1862 -#: utils/adt/regexp.c:1871 utils/misc/guc.c:6776 utils/misc/guc.c:6810 +#: utils/adt/regexp.c:1871 utils/misc/guc.c:6785 utils/misc/guc.c:6819 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ungültiger Wert für Parameter »%s«: %d" @@ -27195,8 +26890,8 @@ msgstr "es gibt mehrere Funktionen namens »%s«" msgid "more than one operator named %s" msgstr "es gibt mehrere Operatoren namens %s" -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10424 -#: utils/adt/ruleutils.c:10637 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498 +#: utils/adt/ruleutils.c:10711 #, c-format msgid "too many arguments" msgstr "zu viele Argumente" @@ -27366,22 +27061,22 @@ msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht ver msgid "cannot compare record types with different numbers of columns" msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen" -#: utils/adt/ruleutils.c:2693 +#: utils/adt/ruleutils.c:2689 #, c-format msgid "input is a query, not an expression" msgstr "Eingabe ist eine Anfrage, kein Ausdruck" -#: utils/adt/ruleutils.c:2705 +#: utils/adt/ruleutils.c:2701 #, c-format msgid "expression contains variables of more than one relation" msgstr "Ausdruck enthält Verweise auf Variablen von mehr als einer Relation" -#: utils/adt/ruleutils.c:2712 +#: utils/adt/ruleutils.c:2708 #, c-format msgid "expression contains variables" msgstr "Ausdruck enthält Variablen" -#: utils/adt/ruleutils.c:5242 +#: utils/adt/ruleutils.c:5241 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "Regel »%s« hat nicht unterstützten Ereignistyp %d" @@ -27474,10 +27169,9 @@ msgid "origin out of range" msgstr "Anfangspunkt ist außerhalb des gültigen Bereichs" #: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 -#, fuzzy, c-format -#| msgid "timestamps cannot be binned into intervals containing months or years" +#, c-format msgid "timestamps cannot be binned into infinite intervals" -msgstr "timestamp-Werte können nicht in Intervalle, die Monate oder Jahre enthalten, einsortiert werden" +msgstr "timestamp-Werte können nicht in unendliche Intervalle einsortiert werden" #: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format @@ -28121,97 +27815,97 @@ msgstr "TRAP: fehlgeschlagenes Assert(»%s«), Datei: »%s«, Zeile: %d, PID: %d msgid "error occurred before error message processing is available\n" msgstr "Fehler geschah bevor Fehlermeldungsverarbeitung bereit war\n" -#: utils/error/elog.c:2117 +#: utils/error/elog.c:2134 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "konnte Datei »%s« nicht als stderr neu öffnen: %m" -#: utils/error/elog.c:2130 +#: utils/error/elog.c:2147 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "konnte Datei »%s« nicht als stdout neu öffnen: %m" -#: utils/error/elog.c:2166 +#: utils/error/elog.c:2183 #, c-format msgid "Invalid character" msgstr "Ungültiges Zeichen" -#: utils/error/elog.c:2872 utils/error/elog.c:2899 utils/error/elog.c:2915 +#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932 msgid "[unknown]" msgstr "[unbekannt]" -#: utils/error/elog.c:3185 utils/error/elog.c:3509 utils/error/elog.c:3616 +#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633 msgid "missing error text" msgstr "fehlender Fehlertext" -#: utils/error/elog.c:3188 utils/error/elog.c:3191 +#: utils/error/elog.c:3205 utils/error/elog.c:3208 #, c-format msgid " at character %d" msgstr " bei Zeichen %d" -#: utils/error/elog.c:3201 utils/error/elog.c:3208 +#: utils/error/elog.c:3218 utils/error/elog.c:3225 msgid "DETAIL: " msgstr "DETAIL: " -#: utils/error/elog.c:3215 +#: utils/error/elog.c:3232 msgid "HINT: " msgstr "TIPP: " -#: utils/error/elog.c:3222 +#: utils/error/elog.c:3239 msgid "QUERY: " msgstr "ANFRAGE: " -#: utils/error/elog.c:3229 +#: utils/error/elog.c:3246 msgid "CONTEXT: " msgstr "ZUSAMMENHANG: " -#: utils/error/elog.c:3239 +#: utils/error/elog.c:3256 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ORT: %s, %s:%d\n" -#: utils/error/elog.c:3246 +#: utils/error/elog.c:3263 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ORT: %s:%d\n" -#: utils/error/elog.c:3253 +#: utils/error/elog.c:3270 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3265 +#: utils/error/elog.c:3282 msgid "STATEMENT: " msgstr "ANWEISUNG: " -#: utils/error/elog.c:3661 +#: utils/error/elog.c:3678 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3665 +#: utils/error/elog.c:3682 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3668 +#: utils/error/elog.c:3685 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3671 +#: utils/error/elog.c:3688 msgid "NOTICE" msgstr "HINWEIS" -#: utils/error/elog.c:3675 +#: utils/error/elog.c:3692 msgid "WARNING" msgstr "WARNUNG" -#: utils/error/elog.c:3678 +#: utils/error/elog.c:3695 msgid "ERROR" msgstr "FEHLER" -#: utils/error/elog.c:3681 +#: utils/error/elog.c:3698 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3684 +#: utils/error/elog.c:3701 msgid "PANIC" msgstr "PANIK" @@ -28399,7 +28093,7 @@ msgstr "Rechte sollten u=rwx (0700) oder u=rwx,g=rx (0750) sein." msgid "could not change directory to \"%s\": %m" msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m" -#: utils/init/miscinit.c:697 utils/misc/guc.c:3641 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3650 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "kann Parameter »%s« nicht in einer sicherheitsbeschränkten Operation setzen" @@ -28495,7 +28189,7 @@ msgstr "Die Datei ist anscheinend aus Versehen übrig geblieben, konnte aber nic msgid "could not write lock file \"%s\": %m" msgstr "konnte Sperrdatei »%s« nicht schreiben: %m" -#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5715 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724 #, c-format msgid "could not read from file \"%s\": %m" msgstr "konnte nicht aus Datei »%s« lesen: %m" @@ -28793,9 +28487,9 @@ msgstr "Gültige Einheiten für diesen Parameter sind »us«, »ms«, »s«, »m msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "unbekannter Konfigurationsparameter »%s« in Datei »%s« Zeile %d" -#: utils/misc/guc.c:470 utils/misc/guc.c:3495 utils/misc/guc.c:3739 -#: utils/misc/guc.c:3837 utils/misc/guc.c:3935 utils/misc/guc.c:4059 -#: utils/misc/guc.c:4162 +#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748 +#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068 +#: utils/misc/guc.c:4171 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "Parameter »%s« kann nicht geändert werden, ohne den Server neu zu starten" @@ -28914,112 +28608,117 @@ msgstr "%d%s%s ist außerhalb des gültigen Bereichs für Parameter »%s« (%d%s msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" msgstr "%g%s%s ist außerhalb des gültigen Bereichs für Parameter »%s« (%g%s%s ... %g%s%s)" -#: utils/misc/guc.c:3447 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3465 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "während einer parallelen Operation können keine Parameter gesetzt werden" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "Parameter »%s« kann nicht während einer parallelen Operation gesetzt werden" -#: utils/misc/guc.c:3472 utils/misc/guc.c:4646 +#: utils/misc/guc.c:3481 utils/misc/guc.c:4655 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "Parameter »%s« kann nicht geändert werden" -#: utils/misc/guc.c:3505 +#: utils/misc/guc.c:3514 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "Parameter »%s« kann jetzt nicht geändert werden" -#: utils/misc/guc.c:3532 utils/misc/guc.c:3594 utils/misc/guc.c:4621 -#: utils/misc/guc.c:6712 +#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630 +#: utils/misc/guc.c:6721 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "keine Berechtigung, um Parameter »%s« zu setzen" -#: utils/misc/guc.c:3574 +#: utils/misc/guc.c:3583 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "Parameter »%s« kann nach Start der Verbindung nicht geändert werden" -#: utils/misc/guc.c:3633 +#: utils/misc/guc.c:3642 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "Parameter »%s« kann nicht in einer Security-Definer-Funktion gesetzt werden" -#: utils/misc/guc.c:3654 +#: utils/misc/guc.c:3663 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "Parameter »%s« kann nicht zurückgesetzt werden" -#: utils/misc/guc.c:3661 +#: utils/misc/guc.c:3670 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "Parameter »%s« kann nicht lokal in Funktionen gesetzt werden" -#: utils/misc/guc.c:4320 utils/misc/guc.c:4368 utils/misc/guc.c:5400 +#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409 #, c-format msgid "permission denied to examine \"%s\"" msgstr "keine Berechtigung, um »%s« zu inspizieren" -#: utils/misc/guc.c:4321 utils/misc/guc.c:4369 utils/misc/guc.c:5401 +#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können diesen Parameter inspizieren." -#: utils/misc/guc.c:4579 +#: utils/misc/guc.c:4588 #, c-format msgid "ALTER SYSTEM is not allowed in this environment" msgstr "ALTER SYSTEM ist in dieser Umgebung nicht erlaubt" -#: utils/misc/guc.c:4611 +#: utils/misc/guc.c:4620 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "keine Berechtigung um ALTER SYSTEM RESET ALL auszuführen" -#: utils/misc/guc.c:4690 +#: utils/misc/guc.c:4699 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "Parameterwert für ALTER SYSTEM darf keine Newline enthalten" -#: utils/misc/guc.c:4735 +#: utils/misc/guc.c:4744 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "konnte Inhalt der Datei »%s« nicht parsen" -#: utils/misc/guc.c:4917 +#: utils/misc/guc.c:4926 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "Versuch, den Parameter »%s« zu redefinieren" -#: utils/misc/guc.c:5256 +#: utils/misc/guc.c:5265 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "ungültiger Konfigurationsparametername »%s«, wird entfernt" -#: utils/misc/guc.c:5258 +#: utils/misc/guc.c:5267 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "»%s« ist jetzt ein reservierter Präfix." -#: utils/misc/guc.c:6135 +#: utils/misc/guc.c:6144 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "beim Setzen von Parameter »%s« auf »%s«" -#: utils/misc/guc.c:6304 +#: utils/misc/guc.c:6313 #, c-format msgid "parameter \"%s\" could not be set" msgstr "Parameter »%s« kann nicht gesetzt werden" -#: utils/misc/guc.c:6394 +#: utils/misc/guc.c:6403 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "konnte Wert von Parameter »%s« nicht lesen" -#: utils/misc/guc.c:6844 +#: utils/misc/guc.c:6853 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ungültiger Wert für Parameter »%s«: %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "während einer parallelen Operation können keine Parameter gesetzt werden" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -29035,2065 +28734,2061 @@ msgstr "SET %s darf nur ein Argument haben" msgid "SET requires parameter name" msgstr "SET benötigt Parameternamen" -#: utils/misc/guc_tables.c:675 +#: utils/misc/guc_tables.c:676 msgid "Ungrouped" msgstr "Ungruppiert" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:677 msgid "File Locations" msgstr "Dateipfade" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / Connection Settings" msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / TCP Settings" msgstr "Verbindungen und Authentifizierung / TCP-Einstellungen" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / Authentication" msgstr "Verbindungen und Authentifizierung / Authentifizierung" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:681 msgid "Connections and Authentication / SSL" msgstr "Verbindungen und Authentifizierung / SSL" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Memory" msgstr "Resourcenbenutzung / Speicher" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:683 msgid "Resource Usage / Disk" msgstr "Resourcenbenutzung / Festplatte" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Kernel Resources" msgstr "Resourcenbenutzung / Kernelresourcen" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Resourcenbenutzung / Kostenbasierte Vacuum-Verzögerung" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Background Writer" msgstr "Resourcenbenutzung / Background-Writer" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:687 msgid "Resource Usage / Asynchronous Behavior" msgstr "Resourcenbenutzung / Asynchrones Verhalten" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead-Log / Einstellungen" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead-Log / Checkpoints" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:690 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead-Log / Archivierung" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead-Log / Wiederherstellung" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead-Log / Archivwiederherstellung" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:693 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead-Log / Wiederherstellungsziele" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:694 msgid "Write-Ahead Log / Summarization" msgstr "Write-Ahead-Log / Zusammenfassung (Summarization)" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:695 msgid "Replication / Sending Servers" msgstr "Replikation / sendende Server" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:696 msgid "Replication / Primary Server" msgstr "Replikation / Primärserver" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:697 msgid "Replication / Standby Servers" msgstr "Replikation / Standby-Server" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:698 msgid "Replication / Subscribers" msgstr "Replikation / Subskriptionsserver" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Method Configuration" msgstr "Anfragetuning / Planermethoden" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Planner Cost Constants" msgstr "Anfragetuning / Planerkosten" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Anfragetuning / Genetischer Anfrageoptimierer" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:702 msgid "Query Tuning / Other Planner Options" msgstr "Anfragetuning / Andere Planeroptionen" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / Where to Log" msgstr "Berichte und Logging / Wohin geloggt wird" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / When to Log" msgstr "Berichte und Logging / Wann geloggt wird" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / What to Log" msgstr "Berichte und Logging / Was geloggt wird" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:706 msgid "Reporting and Logging / Process Title" msgstr "Berichte und Logging / Prozesstitel" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Monitoring" msgstr "Statistiken / Überwachung" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:708 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Statistiken / Kumulierte Anfrage- und Indexstatistiken" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:709 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Statement Behavior" msgstr "Standardeinstellungen für Clientverbindungen / Anweisungsverhalten" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Standardeinstellungen für Clientverbindungen / Locale und Formatierung" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Standardeinstellungen für Clientverbindungen / Shared Library Preloading" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:713 msgid "Client Connection Defaults / Other Defaults" msgstr "Standardeinstellungen für Clientverbindungen / Andere" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:714 msgid "Lock Management" msgstr "Sperrenverwaltung" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:715 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Versions- und Plattformkompatibilität / Frühere PostgreSQL-Versionen" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:716 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Versions- und Plattformkompatibilität / Andere Plattformen und Clients" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:717 msgid "Error Handling" msgstr "Fehlerbehandlung" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:718 msgid "Preset Options" msgstr "Voreingestellte Optionen" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:719 msgid "Customized Options" msgstr "Angepasste Optionen" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:720 msgid "Developer Options" msgstr "Entwickleroptionen" -#: utils/misc/guc_tables.c:774 +#: utils/misc/guc_tables.c:775 msgid "Enables the planner's use of sequential-scan plans." msgstr "Ermöglicht sequenzielle Scans in Planer." -#: utils/misc/guc_tables.c:784 +#: utils/misc/guc_tables.c:785 msgid "Enables the planner's use of index-scan plans." msgstr "Ermöglicht Index-Scans im Planer." -#: utils/misc/guc_tables.c:794 +#: utils/misc/guc_tables.c:795 msgid "Enables the planner's use of index-only-scan plans." msgstr "Ermöglicht Index-Only-Scans im Planer." -#: utils/misc/guc_tables.c:804 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Ermöglicht Bitmap-Scans im Planer." -#: utils/misc/guc_tables.c:814 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of TID scan plans." msgstr "Ermöglicht TID-Scans im Planer." -#: utils/misc/guc_tables.c:824 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of explicit sort steps." msgstr "Ermöglicht Sortierschritte im Planer." -#: utils/misc/guc_tables.c:834 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of incremental sort steps." msgstr "Ermöglicht inkrementelle Sortierschritte im Planer." -#: utils/misc/guc_tables.c:844 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Ermöglicht Hash-Aggregierung im Planer." -#: utils/misc/guc_tables.c:854 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of materialization." msgstr "Ermöglicht Materialisierung im Planer." -#: utils/misc/guc_tables.c:864 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of memoization." msgstr "Ermöglicht Memoization im Planer." -#: utils/misc/guc_tables.c:874 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of nested-loop join plans." msgstr "Ermöglicht Nested-Loop-Verbunde im Planer." -#: utils/misc/guc_tables.c:884 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of merge join plans." msgstr "Ermöglicht Merge-Verbunde im Planer." -#: utils/misc/guc_tables.c:894 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of hash join plans." msgstr "Ermöglicht Hash-Verbunde im Planer." -#: utils/misc/guc_tables.c:904 +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of gather merge plans." msgstr "Ermöglicht Gather-Merge-Pläne im Planer." -#: utils/misc/guc_tables.c:914 +#: utils/misc/guc_tables.c:915 msgid "Enables partitionwise join." msgstr "Ermöglicht partitionsweise Verbunde." -#: utils/misc/guc_tables.c:924 +#: utils/misc/guc_tables.c:925 msgid "Enables partitionwise aggregation and grouping." msgstr "Ermöglicht partitionsweise Aggregierung und Gruppierung." -#: utils/misc/guc_tables.c:934 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of parallel append plans." msgstr "Ermöglicht parallele Append-Pläne im Planer." -#: utils/misc/guc_tables.c:944 +#: utils/misc/guc_tables.c:945 msgid "Enables the planner's use of parallel hash plans." msgstr "Ermöglicht parallele Hash-Pläne im Planer." -#: utils/misc/guc_tables.c:954 +#: utils/misc/guc_tables.c:955 msgid "Enables plan-time and execution-time partition pruning." msgstr "Ermöglicht Partition-Pruning zur Planzeit und zur Ausführungszeit." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:956 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned." msgstr "Erlaubt es dem Planer und dem Executor, Partitionsbegrenzungen mit Bedingungen in der Anfrage zu vergleichen, um festzustellen, welche Partitionen gelesen werden müssen." -#: utils/misc/guc_tables.c:966 +#: utils/misc/guc_tables.c:967 msgid "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions." msgstr "Schaltet die Fähigkeit des Planers ein, Pläne zu erzeugen, die vorsortierte Eingaben für ORDER-BY-/DISTINCT-Aggregatfunktionen bereitstellen." -#: utils/misc/guc_tables.c:969 +#: utils/misc/guc_tables.c:970 msgid "Allows the query planner to build plans that provide presorted input for aggregate functions with an ORDER BY / DISTINCT clause. When disabled, implicit sorts are always performed during execution." msgstr "Erlaubt es dem Planer, Pläne zu bauen, die vorsortierte Eingaben für Aggregatfunktionen mit ORDER-BY-/DISTINCT-Klausel bereitstellen. Wenn ausgeschaltet, werden immer implizite Sortierschritte bei der Ausführung durchgeführt." -#: utils/misc/guc_tables.c:981 +#: utils/misc/guc_tables.c:982 msgid "Enables the planner's use of async append plans." msgstr "Ermöglicht asynchrone Append-Pläne im Planer." -#: utils/misc/guc_tables.c:991 +#: utils/misc/guc_tables.c:992 msgid "Enables reordering of GROUP BY keys." msgstr "Ermöglicht Umordnen von GROUP-BY-Schlüsseln." -#: utils/misc/guc_tables.c:1001 +#: utils/misc/guc_tables.c:1002 msgid "Enables genetic query optimization." msgstr "Ermöglicht genetische Anfrageoptimierung." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1003 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Dieser Algorithmus versucht das Planen ohne erschöpfende Suche durchzuführen." -#: utils/misc/guc_tables.c:1016 +#: utils/misc/guc_tables.c:1017 msgid "Shows whether the current user is a superuser." msgstr "Zeigt, ob der aktuelle Benutzer ein Superuser ist." -#: utils/misc/guc_tables.c:1031 +#: utils/misc/guc_tables.c:1032 msgid "Allows running the ALTER SYSTEM command." msgstr "Erlaubt das Ausführen des Befehls ALTER SYSTEM." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1033 msgid "Can be set to off for environments where global configuration changes should be made using a different method." -msgstr "" +msgstr "Kann auf aus gesetzt werden in Umgebungen, wo globale Konfigurationsänderungen mit einer anderen Methode gemacht werden sollten." -#: utils/misc/guc_tables.c:1042 +#: utils/misc/guc_tables.c:1043 msgid "Enables advertising the server via Bonjour." msgstr "Ermöglicht die Bekanntgabe des Servers mit Bonjour." -#: utils/misc/guc_tables.c:1051 +#: utils/misc/guc_tables.c:1052 msgid "Collects transaction commit time." msgstr "Sammelt Commit-Timestamps von Transaktionen." -#: utils/misc/guc_tables.c:1060 +#: utils/misc/guc_tables.c:1061 msgid "Enables SSL connections." msgstr "Ermöglicht SSL-Verbindungen." -#: utils/misc/guc_tables.c:1069 +#: utils/misc/guc_tables.c:1070 msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "Kontrolliert, ob »ssl_passphrase_command« beim Neuladen des Servers aufgerufen wird." -#: utils/misc/guc_tables.c:1078 +#: utils/misc/guc_tables.c:1079 msgid "Give priority to server ciphersuite order." msgstr "Der Ciphersuite-Reihenfolge des Servers Vorrang geben." -#: utils/misc/guc_tables.c:1087 +#: utils/misc/guc_tables.c:1088 msgid "Forces synchronization of updates to disk." msgstr "Erzwingt die Synchronisierung von Aktualisierungen auf Festplatte." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1089 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This ensures that a database cluster will recover to a consistent state after an operating system or hardware crash." msgstr "Der Server verwendet den Systemaufruf fsync() an mehreren Stellen, um sicherzustellen, dass Datenänderungen physikalisch auf die Festplatte geschrieben werden. Das stellt sicher, dass der Datenbankcluster nach einem Betriebssystemabsturz oder Hardwarefehler in einem korrekten Zustand wiederhergestellt werden kann." -#: utils/misc/guc_tables.c:1099 +#: utils/misc/guc_tables.c:1100 msgid "Continues processing after a checksum failure." msgstr "Setzt die Verarbeitung trotz Prüfsummenfehler fort." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1101 msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled." msgstr "Wenn eine fehlerhafte Prüfsumme entdeckt wird, gibt PostgreSQL normalerweise ein Fehler aus und bricht die aktuelle Transaktion ab. Wenn »ignore_checksum_failure« an ist, dann wird der Fehler ignoriert (aber trotzdem eine Warnung ausgegeben) und die Verarbeitung geht weiter. Dieses Verhalten kann Abstürze und andere ernsthafte Probleme verursachen. Es hat keine Auswirkungen, wenn Prüfsummen nicht eingeschaltet sind." -#: utils/misc/guc_tables.c:1114 +#: utils/misc/guc_tables.c:1115 msgid "Continues processing past damaged page headers." msgstr "Setzt die Verarbeitung trotz kaputter Seitenköpfe fort." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1116 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting \"zero_damaged_pages\" to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page." msgstr "Wenn ein kaputter Seitenkopf entdeckt wird, gibt PostgreSQL normalerweise einen Fehler aus und bricht die aktuelle Transaktion ab. Wenn »zero_damaged_pages« an ist, dann wird eine Warnung ausgegeben, die kaputte Seite mit Nullen gefüllt und die Verarbeitung geht weiter. Dieses Verhalten zerstört Daten, nämlich alle Zeilen in der kaputten Seite." -#: utils/misc/guc_tables.c:1128 +#: utils/misc/guc_tables.c:1129 msgid "Continues recovery after an invalid pages failure." msgstr "Setzt die Wiederherstellung trotz Fehler durch ungültige Seiten fort." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1130 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting \"ignore_invalid_pages\" to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode." msgstr "Wenn WAL-Einträge mit Verweisen auf ungültige Seiten bei der Wiederherstellung erkannt werden, verursacht das einen PANIC-Fehler, wodurch die Wiederherstellung abgebrochen wird. Wenn »ignore_invalid_pages« an ist, dann werden ungültige Seitenverweise in WAL-Einträgen ignoriert (aber trotzen eine Warnung ausgegeben) und die Wiederherstellung wird fortgesetzt. Dieses Verhalten kann Abstürze und Datenverlust verursachen, Datenverfälschung verbreiten oder verstecken sowie andere ernsthafte Probleme verursachen. Es hat nur Auswirkungen im Wiederherstellungs- oder Standby-Modus." -#: utils/misc/guc_tables.c:1147 +#: utils/misc/guc_tables.c:1148 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden." -#: utils/misc/guc_tables.c:1148 +#: utils/misc/guc_tables.c:1149 msgid "A page write in process during an operating system crash might be only partially written to disk. During recovery, the row changes stored in WAL are not enough to recover. This option writes pages when first modified after a checkpoint to WAL so full recovery is possible." msgstr "Ein Seitenschreibvorgang während eines Betriebssystemabsturzes könnte eventuell nur teilweise geschrieben worden sein. Bei der Wiederherstellung sind die im WAL gespeicherten Zeilenänderungen nicht ausreichend. Diese Option schreibt Seiten, sobald sie nach einem Checkpoint geändert worden sind, damit eine volle Wiederherstellung möglich ist." -#: utils/misc/guc_tables.c:1161 +#: utils/misc/guc_tables.c:1162 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification." msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden, auch für eine nicht kritische Änderung." -#: utils/misc/guc_tables.c:1171 +#: utils/misc/guc_tables.c:1172 msgid "Writes zeroes to new WAL files before first use." msgstr "Schreibt Nullen in neue WAL-Dateien vor der ersten Verwendung." -#: utils/misc/guc_tables.c:1181 +#: utils/misc/guc_tables.c:1182 msgid "Recycles WAL files by renaming them." msgstr "WAL-Dateien werden durch Umbenennen wiederverwendet." -#: utils/misc/guc_tables.c:1191 +#: utils/misc/guc_tables.c:1192 msgid "Logs each checkpoint." msgstr "Schreibt jeden Checkpoint in den Log." -#: utils/misc/guc_tables.c:1200 +#: utils/misc/guc_tables.c:1201 msgid "Logs each successful connection." msgstr "Schreibt jede erfolgreiche Verbindung in den Log." -#: utils/misc/guc_tables.c:1209 -#, fuzzy -#| msgid "Connections and Authentication / Connection Settings" +#: utils/misc/guc_tables.c:1210 msgid "Logs details of pre-authentication connection handshake." -msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen" +msgstr "Schreibt Details über den Verbindungs-Handshake vor der Authentifizierung in den Log." -#: utils/misc/guc_tables.c:1219 +#: utils/misc/guc_tables.c:1220 msgid "Logs end of a session, including duration." msgstr "Schreibt jedes Verbindungsende mit Sitzungszeit in den Log." -#: utils/misc/guc_tables.c:1228 +#: utils/misc/guc_tables.c:1229 msgid "Logs each replication command." msgstr "Schreibt jeden Replikationsbefehl in den Log." -#: utils/misc/guc_tables.c:1237 +#: utils/misc/guc_tables.c:1238 msgid "Shows whether the running server has assertion checks enabled." msgstr "Zeigt, ob der laufende Server Assertion-Prüfungen aktiviert hat." -#: utils/misc/guc_tables.c:1248 +#: utils/misc/guc_tables.c:1249 msgid "Terminate session on any error." msgstr "Sitzung bei jedem Fehler abbrechen." -#: utils/misc/guc_tables.c:1257 +#: utils/misc/guc_tables.c:1258 msgid "Reinitialize server after backend crash." msgstr "Server nach Absturz eines Serverprozesses reinitialisieren." -#: utils/misc/guc_tables.c:1266 +#: utils/misc/guc_tables.c:1267 msgid "Remove temporary files after backend crash." msgstr "Temporäre Dateien nach Absturz eines Serverprozesses löschen." -#: utils/misc/guc_tables.c:1276 +#: utils/misc/guc_tables.c:1277 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "SIGABRT statt SIGQUIT an Kindprozesse noch Absturz eines Serverprozesses senden." -#: utils/misc/guc_tables.c:1286 +#: utils/misc/guc_tables.c:1287 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "SIGABRT statt SIGKILL an feststeckende Kindprozesse senden." -#: utils/misc/guc_tables.c:1297 +#: utils/misc/guc_tables.c:1298 msgid "Logs the duration of each completed SQL statement." msgstr "Loggt die Dauer jeder abgeschlossenen SQL-Anweisung." -#: utils/misc/guc_tables.c:1306 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's parse tree." msgstr "Scheibt den Parsebaum jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1315 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's rewritten parse tree." msgstr "Schreibt den umgeschriebenen Parsebaum jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1324 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's execution plan." msgstr "Schreibt den Ausführungsplan jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1333 +#: utils/misc/guc_tables.c:1334 msgid "Indents parse and plan tree displays." msgstr "Rückt die Anzeige von Parse- und Planbäumen ein." -#: utils/misc/guc_tables.c:1342 +#: utils/misc/guc_tables.c:1343 msgid "Writes parser performance statistics to the server log." msgstr "Schreibt Parser-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1351 +#: utils/misc/guc_tables.c:1352 msgid "Writes planner performance statistics to the server log." msgstr "Schreibt Planer-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1360 +#: utils/misc/guc_tables.c:1361 msgid "Writes executor performance statistics to the server log." msgstr "Schreibt Executor-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1369 +#: utils/misc/guc_tables.c:1370 msgid "Writes cumulative performance statistics to the server log." msgstr "Schreibt Gesamtleistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1379 +#: utils/misc/guc_tables.c:1380 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "Loggt Statistiken über Systemressourcen (Speicher und CPU) während diverser B-Baum-Operationen." -#: utils/misc/guc_tables.c:1391 +#: utils/misc/guc_tables.c:1392 msgid "Collects information about executing commands." msgstr "Sammelt Informationen über ausgeführte Befehle." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1393 msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution." msgstr "Schaltet die Sammlung von Informationen über den aktuell ausgeführten Befehl jeder Sitzung ein, einschließlich der Zeit, and dem die Befehlsausführung begann." -#: utils/misc/guc_tables.c:1402 +#: utils/misc/guc_tables.c:1403 msgid "Collects statistics on database activity." msgstr "Sammelt Statistiken über Datenbankaktivität." -#: utils/misc/guc_tables.c:1411 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for database I/O activity." msgstr "Sammelt Zeitmessungsstatistiken über Datenbank-I/O-Aktivität." -#: utils/misc/guc_tables.c:1420 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for WAL I/O activity." msgstr "Sammelt Zeitmessungsstatistiken über WAL-I/O-Aktivität." -#: utils/misc/guc_tables.c:1430 +#: utils/misc/guc_tables.c:1431 msgid "Updates the process title to show the active SQL command." msgstr "Der Prozesstitel wird aktualisiert, um den aktuellen SQL-Befehl anzuzeigen." -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1432 msgid "Enables updating of the process title every time a new SQL command is received by the server." msgstr "Ermöglicht das Aktualisieren des Prozesstitels bei jedem von Server empfangenen neuen SQL-Befehl." -#: utils/misc/guc_tables.c:1440 +#: utils/misc/guc_tables.c:1441 msgid "Starts the autovacuum subprocess." msgstr "Startet den Autovacuum-Prozess." -#: utils/misc/guc_tables.c:1450 +#: utils/misc/guc_tables.c:1451 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Erzeugt Debug-Ausgabe für LISTEN und NOTIFY." -#: utils/misc/guc_tables.c:1462 +#: utils/misc/guc_tables.c:1463 msgid "Emits information about lock usage." msgstr "Gibt Informationen über Sperrenverwendung aus." -#: utils/misc/guc_tables.c:1472 +#: utils/misc/guc_tables.c:1473 msgid "Emits information about user lock usage." msgstr "Gibt Informationen über Benutzersperrenverwendung aus." -#: utils/misc/guc_tables.c:1482 +#: utils/misc/guc_tables.c:1483 msgid "Emits information about lightweight lock usage." msgstr "Gibt Informationen über die Verwendung von Lightweight Locks aus." -#: utils/misc/guc_tables.c:1492 +#: utils/misc/guc_tables.c:1493 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "Gibt Informationen über alle aktuellen Sperren aus, wenn eine Verklemmung auftritt." -#: utils/misc/guc_tables.c:1504 +#: utils/misc/guc_tables.c:1505 msgid "Logs long lock waits." msgstr "Schreibt Meldungen über langes Warten auf Sperren in den Log." -#: utils/misc/guc_tables.c:1513 +#: utils/misc/guc_tables.c:1514 msgid "Logs standby recovery conflict waits." msgstr "Schreibt Meldungen über Warten wegen Konflikten bei Wiederherstellung in den Log." -#: utils/misc/guc_tables.c:1522 +#: utils/misc/guc_tables.c:1523 msgid "Logs the host name in the connection logs." msgstr "Schreibt den Hostnamen jeder Verbindung in den Log." -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1524 msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty." msgstr "In der Standardeinstellung zeigen die Verbindungslogs nur die IP-Adresse der Clienthosts. Wenn Sie den Hostnamen auch anzeigen wollen, dann können Sie diese Option anschalten, aber je nachdem, wie Ihr DNS eingerichtet ist, kann das die Leistung nicht unerheblich beeinträchtigen." -#: utils/misc/guc_tables.c:1534 +#: utils/misc/guc_tables.c:1535 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Behandelt »ausdruck=NULL« als »ausdruck IS NULL«." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1536 msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)." msgstr "Wenn an, dann werden Ausdrücke der Form ausdruck = NULL (oder NULL = ausdruck) wie ausdruck IS NULL behandelt, das heißt, sie ergeben wahr, wenn das Ergebnis von ausdruck der NULL-Wert ist, und ansonsten falsch. Das korrekte Verhalten von ausdruck = NULL ist immer den NULL-Wert (für unbekannt) zurückzugeben." -#: utils/misc/guc_tables.c:1547 +#: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "Setzt den Standardwert für die Read-Only-Einstellung einer neuen Transaktion." -#: utils/misc/guc_tables.c:1557 +#: utils/misc/guc_tables.c:1558 msgid "Sets the current transaction's read-only status." msgstr "Setzt die Read-Only-Einstellung der aktuellen Transaktion." -#: utils/misc/guc_tables.c:1567 +#: utils/misc/guc_tables.c:1568 msgid "Sets the default deferrable status of new transactions." msgstr "Setzt den Standardwert für die Deferrable-Einstellung einer neuen Transaktion." -#: utils/misc/guc_tables.c:1576 +#: utils/misc/guc_tables.c:1577 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures." msgstr "Ob eine serialisierbare Read-Only-Transaktion aufgeschoben werden soll, bis sie ohne mögliche Serialisierungsfehler ausgeführt werden kann." -#: utils/misc/guc_tables.c:1586 +#: utils/misc/guc_tables.c:1587 msgid "Enable row security." msgstr "Schaltet Sicherheit auf Zeilenebene ein." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1588 msgid "When enabled, row security will be applied to all users." msgstr "Wenn eingeschaltet, wird Sicherheit auf Zeilenebene auf alle Benutzer angewendet." -#: utils/misc/guc_tables.c:1595 +#: utils/misc/guc_tables.c:1596 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "Prüft Funktionskörper bei der Ausführung von CREATE FUNCTION und CREATE PROCEDURE." -#: utils/misc/guc_tables.c:1604 +#: utils/misc/guc_tables.c:1605 msgid "Enable input of NULL elements in arrays." msgstr "Ermöglicht die Eingabe von NULL-Elementen in Arrays." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1606 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally." msgstr "Wenn dies eingeschaltet ist, wird ein nicht gequotetes NULL in einem Array-Eingabewert als NULL-Wert interpretiert, ansonsten als Zeichenkette." -#: utils/misc/guc_tables.c:1621 +#: utils/misc/guc_tables.c:1622 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "WITH OIDS wird nicht mehr unterstützt; kann nur auf falsch gesetzt werden." -#: utils/misc/guc_tables.c:1631 +#: utils/misc/guc_tables.c:1632 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "Startet einen Subprozess, um die Stderr-Ausgabe und/oder CSV-Logs in Logdateien auszugeben." -#: utils/misc/guc_tables.c:1640 +#: utils/misc/guc_tables.c:1641 msgid "Truncate existing log files of same name during log rotation." msgstr "Kürzt existierende Logdateien mit dem selben Namen beim Rotieren." -#: utils/misc/guc_tables.c:1651 +#: utils/misc/guc_tables.c:1652 msgid "Emit information about resource usage in sorting." msgstr "Gibt Informationen über die Ressourcenverwendung beim Sortieren aus." -#: utils/misc/guc_tables.c:1665 +#: utils/misc/guc_tables.c:1666 msgid "Generate debugging output for synchronized scanning." msgstr "Erzeugt Debug-Ausgabe für synchronisiertes Scannen." -#: utils/misc/guc_tables.c:1680 +#: utils/misc/guc_tables.c:1681 msgid "Enable bounded sorting using heap sort." msgstr "Ermöglicht Bounded Sorting mittels Heap-Sort." -#: utils/misc/guc_tables.c:1693 +#: utils/misc/guc_tables.c:1694 msgid "Emit WAL-related debugging output." msgstr "Gibt diverse Debug-Meldungen über WAL aus." -#: utils/misc/guc_tables.c:1705 +#: utils/misc/guc_tables.c:1706 msgid "Shows whether datetimes are integer based." msgstr "Zeigt ob Datum/Zeit intern ganze Zahlen verwendet." -#: utils/misc/guc_tables.c:1716 +#: utils/misc/guc_tables.c:1717 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgstr "Bestimmt, ob Groß-/Kleinschreibung bei Kerberos- und GSSAPI-Benutzernamen ignoriert werden soll." -#: utils/misc/guc_tables.c:1726 +#: utils/misc/guc_tables.c:1727 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "Bestimmt, ob GSSAPI-Delegation vom Client akzeptiert werden soll." -#: utils/misc/guc_tables.c:1736 +#: utils/misc/guc_tables.c:1737 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Warnt bei Backslash-Escapes in normalen Zeichenkettenkonstanten." -#: utils/misc/guc_tables.c:1746 +#: utils/misc/guc_tables.c:1747 msgid "Causes '...' strings to treat backslashes literally." msgstr "Bewirkt, dass Zeichenketten der Art '...' Backslashes als normales Zeichen behandeln." -#: utils/misc/guc_tables.c:1757 +#: utils/misc/guc_tables.c:1758 msgid "Enable synchronized sequential scans." msgstr "Ermöglicht synchronisierte sequenzielle Scans." -#: utils/misc/guc_tables.c:1767 +#: utils/misc/guc_tables.c:1768 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Setzt ob die Transaktion mit dem Wiederherstellungsziel einbezogen oder ausgeschlossen wird." -#: utils/misc/guc_tables.c:1777 +#: utils/misc/guc_tables.c:1778 msgid "Starts the WAL summarizer process to enable incremental backup." msgstr "Startet den WAL-Summarizer-Prozess, um inkrementelle Backups zu ermöglichen." -#: utils/misc/guc_tables.c:1787 +#: utils/misc/guc_tables.c:1788 msgid "Allows connections and queries during recovery." msgstr "Erlaubt Verbindungen und Anfragen während der Wiederherstellung." -#: utils/misc/guc_tables.c:1797 +#: utils/misc/guc_tables.c:1798 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "Erlaubt Rückmeldungen von einem Hot Standby an den Primärserver, um Anfragekonflikte zu vermeiden." -#: utils/misc/guc_tables.c:1807 +#: utils/misc/guc_tables.c:1808 msgid "Shows whether hot standby is currently active." msgstr "Zeigt, ob Hot Standby aktuell aktiv ist." -#: utils/misc/guc_tables.c:1818 +#: utils/misc/guc_tables.c:1819 msgid "Allows modifications of the structure of system tables." msgstr "Erlaubt Änderungen an der Struktur von Systemtabellen." -#: utils/misc/guc_tables.c:1829 +#: utils/misc/guc_tables.c:1830 msgid "Disables reading from system indexes." msgstr "Schaltet das Lesen aus Systemindexen ab." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1831 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "Das Aktualisieren der Indexe wird nicht verhindert, also ist die Verwendung unbedenklich. Schlimmstenfalls wird alles langsamer." -#: utils/misc/guc_tables.c:1841 +#: utils/misc/guc_tables.c:1842 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Erlaubt Tablespaces direkt in pg_tblspc, zum Testen." -#: utils/misc/guc_tables.c:1852 +#: utils/misc/guc_tables.c:1853 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "Schaltet den rückwärtskompatiblen Modus für Privilegienprüfungen bei Large Objects ein." -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1854 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "Überspringt Privilegienprüfungen beim Lesen oder Ändern von Large Objects, zur Kompatibilität mit PostgreSQL-Versionen vor 9.0." -#: utils/misc/guc_tables.c:1863 +#: utils/misc/guc_tables.c:1864 msgid "When generating SQL fragments, quote all identifiers." msgstr "Wenn SQL-Fragmente erzeugt werden, alle Bezeichner quoten." -#: utils/misc/guc_tables.c:1873 +#: utils/misc/guc_tables.c:1874 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Zeigt, ob Datenprüfsummen in diesem Cluster angeschaltet sind." -#: utils/misc/guc_tables.c:1884 +#: utils/misc/guc_tables.c:1885 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "Syslog-Nachrichten mit Sequenznummern versehen, um Unterdrückung doppelter Nachrichten zu unterbinden." -#: utils/misc/guc_tables.c:1894 +#: utils/misc/guc_tables.c:1895 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "An Syslog gesendete Nachrichten nach Zeilen und in maximal 1024 Bytes aufteilen." -#: utils/misc/guc_tables.c:1904 +#: utils/misc/guc_tables.c:1905 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Kontrolliert, ob Gather und Gather Merge auch Subpläne ausführen." -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1906 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "Sollen Gather-Knoten auch Subpläne ausführen oder nur Tupel sammeln?" -#: utils/misc/guc_tables.c:1915 +#: utils/misc/guc_tables.c:1916 msgid "Allow JIT compilation." msgstr "Erlaubt JIT-Kompilierung." -#: utils/misc/guc_tables.c:1926 +#: utils/misc/guc_tables.c:1927 msgid "Register JIT-compiled functions with debugger." msgstr "JIT-kompilierte Funktionen im Debugger registrieren." -#: utils/misc/guc_tables.c:1943 +#: utils/misc/guc_tables.c:1944 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "LLVM-Bitcode in Dateien schreiben, um Debuggen von JIT zu erleichtern." -#: utils/misc/guc_tables.c:1954 +#: utils/misc/guc_tables.c:1955 msgid "Allow JIT compilation of expressions." msgstr "Erlaubt JIT-Kompilierung von Ausdrücken." -#: utils/misc/guc_tables.c:1965 +#: utils/misc/guc_tables.c:1966 msgid "Register JIT-compiled functions with perf profiler." msgstr "JIT-kompilierte Funktionen im Profiler perf registrieren." -#: utils/misc/guc_tables.c:1982 +#: utils/misc/guc_tables.c:1983 msgid "Allow JIT compilation of tuple deforming." msgstr "Erlaubt JIT-Kompilierung von Tuple-Deforming." -#: utils/misc/guc_tables.c:1993 +#: utils/misc/guc_tables.c:1994 msgid "Whether to continue running after a failure to sync data files." msgstr "Ob nach fehlgeschlagenem Synchronisieren von Datendateien fortgesetzt werden soll." -#: utils/misc/guc_tables.c:2002 +#: utils/misc/guc_tables.c:2003 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "Bestimmt, ob der WAL-Receiver einen temporären Replikations-Slot erzeugen soll, wenn kein permanenter Slot konfiguriert ist." -#: utils/misc/guc_tables.c:2011 -#, fuzzy -#| msgid "event trigger %s" +#: utils/misc/guc_tables.c:2012 msgid "Enables event triggers." -msgstr "Ereignistrigger %s" +msgstr "Schaltet Ereignistrigger ein." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2013 msgid "When enabled, event triggers will fire for all applicable statements." -msgstr "" +msgstr "Wenn eingeschaltet, werden Ereignistrigger für alle passenden Anweisungen ausgelöst." -#: utils/misc/guc_tables.c:2021 -msgid "Enables a physical standby to synchronize logical failover slots from the primary server." -msgstr "" +#: utils/misc/guc_tables.c:2022 +msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." +msgstr "Ermöglicht, dass ein physischer Standby logische Failover-Replikations-Slots vom Primärserver synchronisiert." -#: utils/misc/guc_tables.c:2039 +#: utils/misc/guc_tables.c:2040 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "Setzt die Zeit, die gewartet wird, bevor ein Umschalten auf die nächste WAL-Datei erzwungen wird." -#: utils/misc/guc_tables.c:2050 +#: utils/misc/guc_tables.c:2051 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "Setzt die Zeit, die nach der Authentifizierung beim Verbindungsstart gewartet wird." -#: utils/misc/guc_tables.c:2052 utils/misc/guc_tables.c:2774 +#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 msgid "This allows attaching a debugger to the process." msgstr "Das ermöglicht es, einen Debugger in den Prozess einzuhängen." -#: utils/misc/guc_tables.c:2061 +#: utils/misc/guc_tables.c:2062 msgid "Sets the default statistics target." msgstr "Setzt das voreingestellte Statistikziel." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2063 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "Diese Einstellung gilt für Tabellenspalten, für die kein spaltenspezifisches Ziel mit ALTER TABLE SET STATISTICS gesetzt worden ist." -#: utils/misc/guc_tables.c:2071 +#: utils/misc/guc_tables.c:2072 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "Setzt die Größe der FROM-Liste, ab der Unteranfragen nicht kollabiert werden." -#: utils/misc/guc_tables.c:2073 +#: utils/misc/guc_tables.c:2074 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "Der Planer bindet Unteranfragen in die übergeordneten Anfragen ein, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde." -#: utils/misc/guc_tables.c:2084 +#: utils/misc/guc_tables.c:2085 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "Setzt die Größe der FROM-Liste, ab der JOIN-Konstrukte nicht aufgelöst werden." -#: utils/misc/guc_tables.c:2086 +#: utils/misc/guc_tables.c:2087 msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result." msgstr "Der Planer löst ausdrückliche JOIN-Konstrukte in FROM-Listen auf, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde." -#: utils/misc/guc_tables.c:2097 +#: utils/misc/guc_tables.c:2098 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "Setzt die Anzahl der Elemente in der FROM-Liste, ab der GEQO verwendet wird." -#: utils/misc/guc_tables.c:2107 +#: utils/misc/guc_tables.c:2108 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: wird für die Berechnung der Vorgabewerte anderer GEQO-Parameter verwendet." -#: utils/misc/guc_tables.c:2117 +#: utils/misc/guc_tables.c:2118 msgid "GEQO: number of individuals in the population." msgstr "GEQO: Anzahl der Individien in der Bevölkerung." -#: utils/misc/guc_tables.c:2118 utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 msgid "Zero selects a suitable default value." msgstr "Null wählt einen passenden Vorgabewert." -#: utils/misc/guc_tables.c:2127 +#: utils/misc/guc_tables.c:2128 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: Anzahl der Iterationen im Algorithmus." -#: utils/misc/guc_tables.c:2139 +#: utils/misc/guc_tables.c:2140 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Setzt die Zeit, die gewartet wird, bis auf Verklemmung geprüft wird." -#: utils/misc/guc_tables.c:2150 +#: utils/misc/guc_tables.c:2151 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server archivierte WAL-Daten verarbeitet." -#: utils/misc/guc_tables.c:2161 +#: utils/misc/guc_tables.c:2162 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server gestreamte WAL-Daten verarbeitet." -#: utils/misc/guc_tables.c:2172 +#: utils/misc/guc_tables.c:2173 msgid "Sets the minimum delay for applying changes during recovery." msgstr "Setzt die minimale Verzögerung für das Einspielen von Änderungen während der Wiederherstellung." -#: utils/misc/guc_tables.c:2183 +#: utils/misc/guc_tables.c:2184 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "Setzt das maximale Intervall zwischen Statusberichten des WAL-Receivers an den sendenden Server." -#: utils/misc/guc_tables.c:2194 +#: utils/misc/guc_tables.c:2195 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "Setzt die maximale Zeit, um auf den Empfang von Daten vom sendenden Server zu warten." -#: utils/misc/guc_tables.c:2205 +#: utils/misc/guc_tables.c:2206 msgid "Sets the maximum number of concurrent connections." msgstr "Setzt die maximale Anzahl gleichzeitiger Verbindungen." -#: utils/misc/guc_tables.c:2216 +#: utils/misc/guc_tables.c:2217 msgid "Sets the number of connection slots reserved for superusers." msgstr "Setzt die Anzahl der für Superuser reservierten Verbindungen." -#: utils/misc/guc_tables.c:2226 +#: utils/misc/guc_tables.c:2227 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "Setzt die Anzahl der Verbindungen, die für Rollen mit den Privilegien der Rolle pg_use_reserved_connections reserviert sind." -#: utils/misc/guc_tables.c:2237 +#: utils/misc/guc_tables.c:2238 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Menge des beim Start reservierten dynamischen Shared Memory." -#: utils/misc/guc_tables.c:2252 +#: utils/misc/guc_tables.c:2253 msgid "Sets the number of shared memory buffers used by the server." msgstr "Setzt die Anzahl der vom Server verwendeten Shared-Memory-Puffer." -#: utils/misc/guc_tables.c:2263 +#: utils/misc/guc_tables.c:2264 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Setzt die Buffer-Pool-Größe für VACUUM, ANALYZE und Autovacuum." -#: utils/misc/guc_tables.c:2274 +#: utils/misc/guc_tables.c:2275 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "Zeigt die Größe des primären Shared-Memory-Bereichs des Servers (aufgerundet zum nächsten MB)." -#: utils/misc/guc_tables.c:2285 +#: utils/misc/guc_tables.c:2286 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "Zeigt die Anzahl der Huge Pages, die für den primären Shared-Memory-Bereich benötigt werden." -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2287 msgid "-1 indicates that the value could not be determined." msgstr "-1 zeigt an, dass der Wert nicht ermittelt werden konnte." -#: utils/misc/guc_tables.c:2296 +#: utils/misc/guc_tables.c:2297 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." msgstr "Setzt die Größe des für den Commit-Timestamp-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2297 utils/misc/guc_tables.c:2352 -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 +#: utils/misc/guc_tables.c:2364 msgid "Specify 0 to have this value determined as a fraction of shared_buffers." -msgstr "" +msgstr "Geben Sie 0 an, um diesen Wert als einen Bruchteil von shared_buffers zu ermitteln." -#: utils/misc/guc_tables.c:2307 +#: utils/misc/guc_tables.c:2308 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." msgstr "Setzt die Größe des für den MultiXact-Member-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2318 +#: utils/misc/guc_tables.c:2319 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." msgstr "Setzt die Größe des für den MultiXact-Offset-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2329 +#: utils/misc/guc_tables.c:2330 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." msgstr "Setzt die Größe des für den LISTEN/NOTIFY-Message-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2340 +#: utils/misc/guc_tables.c:2341 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." msgstr "Setzt die Größe des für den Cache für serialisierbare Transaktionen bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2351 -msgid "Sets the size of the dedicated buffer pool used for the sub-transaction cache." +#: utils/misc/guc_tables.c:2352 +msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." msgstr "Setzt die Größe des für den Subtransaktions-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2363 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." msgstr "Setzt die Größe des für den Transaktionsstatus-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2373 +#: utils/misc/guc_tables.c:2374 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Setzt die maximale Anzahl der von jeder Sitzung verwendeten temporären Puffer." -#: utils/misc/guc_tables.c:2384 +#: utils/misc/guc_tables.c:2385 msgid "Sets the TCP port the server listens on." msgstr "Setzt den TCP-Port, auf dem der Server auf Verbindungen wartet." -#: utils/misc/guc_tables.c:2394 +#: utils/misc/guc_tables.c:2395 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Setzt die Zugriffsrechte für die Unix-Domain-Socket." -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2396 msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "Unix-Domain-Sockets verwenden die üblichen Zugriffsrechte für Unix-Dateisysteme. Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)" -#: utils/misc/guc_tables.c:2409 +#: utils/misc/guc_tables.c:2410 msgid "Sets the file permissions for log files." msgstr "Setzt die Dateizugriffsrechte für Logdateien." -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2411 msgid "The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)" -#: utils/misc/guc_tables.c:2424 +#: utils/misc/guc_tables.c:2425 msgid "Shows the mode of the data directory." msgstr "Zeigt die Zugriffsrechte des Datenverzeichnisses." -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2426 msgid "The parameter value is a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)" -#: utils/misc/guc_tables.c:2438 +#: utils/misc/guc_tables.c:2439 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Setzt die maximale Speichergröße für Anfrage-Arbeitsbereiche." -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2440 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "Gibt die Speichermenge an, die für interne Sortiervorgänge und Hashtabellen verwendet werden kann, bevor auf temporäre Dateien umgeschaltet wird." -#: utils/misc/guc_tables.c:2451 +#: utils/misc/guc_tables.c:2457 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Setzt die maximale Speichergröße für Wartungsoperationen." -#: utils/misc/guc_tables.c:2452 +#: utils/misc/guc_tables.c:2458 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Das schließt Operationen wie VACUUM und CREATE INDEX ein." -#: utils/misc/guc_tables.c:2462 +#: utils/misc/guc_tables.c:2468 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Setzt die maximale Speichergröße für logische Dekodierung." -#: utils/misc/guc_tables.c:2463 +#: utils/misc/guc_tables.c:2469 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "Gibt die Speichermenge an, die für jeden internen Reorder-Puffer verwendet werden kann, bevor auf Festplatte ausgelagert wird." -#: utils/misc/guc_tables.c:2479 +#: utils/misc/guc_tables.c:2485 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Setzt die maximale Stackgröße, in Kilobytes." -#: utils/misc/guc_tables.c:2490 +#: utils/misc/guc_tables.c:2496 msgid "Limits the total size of all temporary files used by each process." msgstr "Beschränkt die Gesamtgröße aller temporären Dateien, die von einem Prozess verwendet werden." -#: utils/misc/guc_tables.c:2491 +#: utils/misc/guc_tables.c:2497 msgid "-1 means no limit." msgstr "-1 bedeutet keine Grenze." -#: utils/misc/guc_tables.c:2501 +#: utils/misc/guc_tables.c:2507 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Vacuum-Kosten für eine im Puffer-Cache gefundene Seite." -#: utils/misc/guc_tables.c:2511 +#: utils/misc/guc_tables.c:2517 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Vacuum-Kosten für eine nicht im Puffer-Cache gefundene Seite." -#: utils/misc/guc_tables.c:2521 +#: utils/misc/guc_tables.c:2527 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Vacuum-Kosten für eine durch Vacuum schmutzig gemachte Seite." -#: utils/misc/guc_tables.c:2531 +#: utils/misc/guc_tables.c:2537 msgid "Vacuum cost amount available before napping." msgstr "Verfügbare Vacuum-Kosten vor Nickerchen." -#: utils/misc/guc_tables.c:2541 +#: utils/misc/guc_tables.c:2547 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Verfügbare Vacuum-Kosten vor Nickerchen, für Autovacuum." -#: utils/misc/guc_tables.c:2551 +#: utils/misc/guc_tables.c:2557 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "Setzt die maximale Zahl gleichzeitig geöffneter Dateien für jeden Serverprozess." -#: utils/misc/guc_tables.c:2564 +#: utils/misc/guc_tables.c:2570 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Setzt die maximale Anzahl von gleichzeitig vorbereiteten Transaktionen." -#: utils/misc/guc_tables.c:2575 +#: utils/misc/guc_tables.c:2581 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Setzt die minimale Tabellen-OID für das Verfolgen von Sperren." -#: utils/misc/guc_tables.c:2576 +#: utils/misc/guc_tables.c:2582 msgid "Is used to avoid output on system tables." msgstr "Wird verwendet, um Ausgabe für Systemtabellen zu vermeiden." -#: utils/misc/guc_tables.c:2585 +#: utils/misc/guc_tables.c:2591 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Setzt die OID der Tabelle mit bedingungsloser Sperrenverfolgung." -#: utils/misc/guc_tables.c:2597 +#: utils/misc/guc_tables.c:2603 msgid "Sets the maximum allowed duration of any statement." msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung." -#: utils/misc/guc_tables.c:2598 utils/misc/guc_tables.c:2609 -#: utils/misc/guc_tables.c:2620 utils/misc/guc_tables.c:2631 -#: utils/misc/guc_tables.c:2642 +#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615 +#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637 +#: utils/misc/guc_tables.c:2648 msgid "A value of 0 turns off the timeout." msgstr "Der Wert 0 schaltet die Zeitprüfung aus." -#: utils/misc/guc_tables.c:2608 +#: utils/misc/guc_tables.c:2614 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Setzt die maximal erlaubte Dauer, um auf eine Sperre zu warten." -#: utils/misc/guc_tables.c:2619 +#: utils/misc/guc_tables.c:2625 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "Setzt die maximal erlaubte inaktive Zeit zwischen Anfragen, wenn in einer Transaktion." -#: utils/misc/guc_tables.c:2630 -#, fuzzy -#| msgid "Sets the maximum allowed duration of any statement." +#: utils/misc/guc_tables.c:2636 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." -msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung." +msgstr "Setzt die maximal erlaubte Dauer jeder Transaktion innerhalb einer Sitzung (keine vorbereitete Transaktion)." -#: utils/misc/guc_tables.c:2641 +#: utils/misc/guc_tables.c:2647 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "Setzt die maximal erlaubte inaktive Zeit zwischen Anfragen, wenn nicht in einer Transaktion." -#: utils/misc/guc_tables.c:2652 +#: utils/misc/guc_tables.c:2658 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "Mindestalter, bei dem VACUUM eine Tabellenzeile einfrieren soll." -#: utils/misc/guc_tables.c:2662 +#: utils/misc/guc_tables.c:2668 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren." -#: utils/misc/guc_tables.c:2672 +#: utils/misc/guc_tables.c:2678 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "Mindestalter, bei dem VACUUM eine MultiXactId in einer Tabellenzeile einfrieren soll." -#: utils/misc/guc_tables.c:2682 +#: utils/misc/guc_tables.c:2688 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "Multixact-Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren." -#: utils/misc/guc_tables.c:2692 +#: utils/misc/guc_tables.c:2698 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Alter, bei dem VACUUM die Ausfallsicherung auslösen soll, um Ausfall wegen Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:2701 +#: utils/misc/guc_tables.c:2707 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Multixact-Alter, bei dem VACUUM die Ausfallsicherung auslösen soll, um Ausfall wegen Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:2714 +#: utils/misc/guc_tables.c:2720 msgid "Sets the maximum number of locks per transaction." msgstr "Setzt die maximale Anzahl Sperren pro Transaktion." -#: utils/misc/guc_tables.c:2715 +#: utils/misc/guc_tables.c:2721 msgid "The shared lock table is sized on the assumption that at most \"max_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "Die globale Sperrentabelle wird mit der Annahme angelegt, das höchstens »max_locks_per_transaction« Objekte pro Serverprozess oder vorbereitete Transaktion gleichzeitig gesperrt werden müssen." -#: utils/misc/guc_tables.c:2726 +#: utils/misc/guc_tables.c:2732 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Setzt die maximale Anzahl Prädikatsperren pro Transaktion." -#: utils/misc/guc_tables.c:2727 +#: utils/misc/guc_tables.c:2733 msgid "The shared predicate lock table is sized on the assumption that at most \"max_pred_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "Die globale Prädikatsperrentabelle wird mit der Annahme angelegt, das höchstens »max_pred_locks_per_transaction« Objekte pro Serverprozess oder vorbereitete Transaktion gleichzeitig gesperrt werden müssen." -#: utils/misc/guc_tables.c:2738 +#: utils/misc/guc_tables.c:2744 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "Setzt die maximale Anzahl Prädikatsperren für Seiten und Tupel pro Relation." -#: utils/misc/guc_tables.c:2739 +#: utils/misc/guc_tables.c:2745 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock." msgstr "Wenn mehr als diese Gesamtzahl Seiten und Tupel in der selben Relation von einer Verbindung gesperrt sind, werden diese Sperren durch eine Sperre auf Relationsebene ersetzt." -#: utils/misc/guc_tables.c:2749 +#: utils/misc/guc_tables.c:2755 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "Setzt die maximale Anzahl Prädikatsperren für Tupel pro Seite." -#: utils/misc/guc_tables.c:2750 +#: utils/misc/guc_tables.c:2756 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock." msgstr "Wenn mehr als diese Anzahl Tupel auf der selben Seite von einer Verbindung gesperrt sind, werden diese Sperren durch eine Sperre auf Seitenebene ersetzt." -#: utils/misc/guc_tables.c:2760 +#: utils/misc/guc_tables.c:2766 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Setzt die maximale Zeit, um die Client-Authentifizierung zu beenden." -#: utils/misc/guc_tables.c:2772 +#: utils/misc/guc_tables.c:2778 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "Setzt die Zeit, die vor der Authentifizierung beim Verbindungsstart gewartet wird." -#: utils/misc/guc_tables.c:2784 -#, fuzzy -#| msgid "Sets the maximum number of predicate-locked tuples per page." +#: utils/misc/guc_tables.c:2790 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." -msgstr "Setzt die maximale Anzahl Prädikatsperren für Tupel pro Seite." +msgstr "Setzt die maximale Anzahl bereitgestellte Seiten für die NOTIFY/LISTEN-Warteschlange." -#: utils/misc/guc_tables.c:2794 +#: utils/misc/guc_tables.c:2800 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Puffergröße für WAL-Read-Ahead während der Wiederherstellung." -#: utils/misc/guc_tables.c:2795 +#: utils/misc/guc_tables.c:2801 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "Maximale Entfernung, die im WAL vorausgelesen wird, um Datenblöcke, auf die verwiesen wird, vorab einzulesen." -#: utils/misc/guc_tables.c:2805 +#: utils/misc/guc_tables.c:2811 msgid "Sets the size of WAL files held for standby servers." msgstr "Setzt die Größe der für Standby-Server vorgehaltenen WAL-Dateien." -#: utils/misc/guc_tables.c:2816 +#: utils/misc/guc_tables.c:2822 msgid "Sets the minimum size to shrink the WAL to." msgstr "Setzt die minimale Größe, auf die der WAL geschrumpft wird." -#: utils/misc/guc_tables.c:2828 +#: utils/misc/guc_tables.c:2834 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Setzt die WAL-Größe, die einen Checkpoint auslöst." -#: utils/misc/guc_tables.c:2840 +#: utils/misc/guc_tables.c:2846 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Setzt die maximale Zeit zwischen automatischen WAL-Checkpoints." -#: utils/misc/guc_tables.c:2851 +#: utils/misc/guc_tables.c:2857 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "Setzt die maximale Zeit, bevor gewarnt wird, wenn durch WAL-Volumen ausgelöste Checkpoints zu häufig passieren." -#: utils/misc/guc_tables.c:2853 +#: utils/misc/guc_tables.c:2859 msgid "Write a message to the server log if checkpoints caused by the filling of WAL segment files happen more frequently than this amount of time. Zero turns off the warning." msgstr "Schreibe Meldung in den Serverlog, wenn Checkpoints, die durch Füllen der WAL-Segmentdateien ausgelöst werden, häufiger als dieser Zeitraum passieren. Null schaltet die Warnung ab." -#: utils/misc/guc_tables.c:2866 utils/misc/guc_tables.c:3084 -#: utils/misc/guc_tables.c:3138 +#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 +#: utils/misc/guc_tables.c:3144 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "Anzahl der Seiten, nach denen getätigte Schreibvorgänge auf die Festplatte zurückgeschrieben werden." -#: utils/misc/guc_tables.c:2877 +#: utils/misc/guc_tables.c:2883 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory." -#: utils/misc/guc_tables.c:2878 +#: utils/misc/guc_tables.c:2884 msgid "Specify -1 to have this value determined as a fraction of shared_buffers." -msgstr "" +msgstr "Geben Sie -1 an, um diesen Wert als einen Bruchteil von shared_buffers zu ermitteln." -#: utils/misc/guc_tables.c:2888 +#: utils/misc/guc_tables.c:2894 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Zeit zwischen WAL-Flush-Operationen im WAL-Writer." -#: utils/misc/guc_tables.c:2899 +#: utils/misc/guc_tables.c:2905 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "Ein Flush wird ausgelöst, wenn diese Menge WAL vom WAL-Writer geschrieben worden ist." -#: utils/misc/guc_tables.c:2910 +#: utils/misc/guc_tables.c:2916 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "Mindestgröße ab der neue Datei gefsynct wird statt WAL zu schreiben." -#: utils/misc/guc_tables.c:2921 +#: utils/misc/guc_tables.c:2927 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "Setzt die maximale Anzahl gleichzeitig laufender WAL-Sender-Prozesse." -#: utils/misc/guc_tables.c:2932 +#: utils/misc/guc_tables.c:2938 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Setzt die maximale Anzahl von gleichzeitig definierten Replikations-Slots." -#: utils/misc/guc_tables.c:2942 +#: utils/misc/guc_tables.c:2948 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "Setzt die maximale WAL-Größe, die von Replikations-Slots reserviert werden kann." -#: utils/misc/guc_tables.c:2943 +#: utils/misc/guc_tables.c:2949 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk." msgstr "Replikations-Slots werden als fehlgeschlagen markiert, und Segmente zum Löschen oder Wiederverwenden freigegeben, wenn so viel Platz von WAL auf der Festplatte belegt wird." -#: utils/misc/guc_tables.c:2955 +#: utils/misc/guc_tables.c:2961 msgid "Sets the maximum time to wait for WAL replication." msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten." -#: utils/misc/guc_tables.c:2966 +#: utils/misc/guc_tables.c:2972 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "Setzt die Verzögerung in Millisekunden zwischen Transaktionsabschluss und dem Schreiben von WAL auf die Festplatte." -#: utils/misc/guc_tables.c:2978 +#: utils/misc/guc_tables.c:2984 msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." msgstr "Setzt die notwendige minimale Anzahl gleichzeitig offener Transaktionen bevor »commit_delay« angewendet wird." -#: utils/misc/guc_tables.c:2989 +#: utils/misc/guc_tables.c:2995 msgid "Sets the number of digits displayed for floating-point values." msgstr "Setzt die Anzahl ausgegebener Ziffern für Fließkommawerte." -#: utils/misc/guc_tables.c:2990 +#: utils/misc/guc_tables.c:2996 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode." msgstr "Diese Einstellung betrifft real, double precision und geometrische Datentypen. Null oder ein negativer Parameterwert wird zur Standardziffernanzahl (FLT_DIG bzw. DBL_DIG) hinzuaddiert. Ein Wert größer als Null wählt präzisen Ausgabemodus." -#: utils/misc/guc_tables.c:3002 +#: utils/misc/guc_tables.c:3008 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." msgstr "Setzt die minimale Ausführungszeit, über der Stichproben aller Anweisungen geloggt werden. Die Stichproben werden durch log_statement_sample_rate bestimmt." -#: utils/misc/guc_tables.c:3005 +#: utils/misc/guc_tables.c:3011 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "Null loggt eine Stichprobe aller Anfragen. -1 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3015 +#: utils/misc/guc_tables.c:3021 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "Setzt die minimale Ausführungszeit, über der alle Anweisungen geloggt werden." -#: utils/misc/guc_tables.c:3017 +#: utils/misc/guc_tables.c:3023 msgid "Zero prints all queries. -1 turns this feature off." msgstr "Null zeigt alle Anfragen. -1 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3027 +#: utils/misc/guc_tables.c:3033 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "Setzt die minimale Ausführungszeit, über der Autovacuum-Aktionen geloggt werden." -#: utils/misc/guc_tables.c:3029 +#: utils/misc/guc_tables.c:3035 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "Null gibt alls Aktionen aus. -1 schaltet die Log-Aufzeichnung über Autovacuum aus." -#: utils/misc/guc_tables.c:3039 +#: utils/misc/guc_tables.c:3045 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "Setzt die maximale Länge in Bytes für geloggte Daten von Bind-Parametern, wenn Anfragen geloggt werden." -#: utils/misc/guc_tables.c:3041 utils/misc/guc_tables.c:3053 +#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 msgid "-1 to print values in full." msgstr "-1 um die Werte vollständig auszugeben." -#: utils/misc/guc_tables.c:3051 +#: utils/misc/guc_tables.c:3057 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "Setzt die maximale Länge in Bytes für bei Fehlern geloggte Daten von Bind-Parametern, wenn Anfragen geloggt werden." -#: utils/misc/guc_tables.c:3063 +#: utils/misc/guc_tables.c:3069 msgid "Background writer sleep time between rounds." msgstr "Schlafzeit zwischen Durchläufen des Background-Writers." -#: utils/misc/guc_tables.c:3074 +#: utils/misc/guc_tables.c:3080 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "Maximale Anzahl der vom Background-Writer pro Durchlauf zu flushenden LRU-Seiten." -#: utils/misc/guc_tables.c:3097 +#: utils/misc/guc_tables.c:3103 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "Anzahl simultaner Anfragen, die das Festplattensubsystem effizient bearbeiten kann." -#: utils/misc/guc_tables.c:3111 +#: utils/misc/guc_tables.c:3117 msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "Eine Variante von »effective_io_concurrency«, die für Wartungsarbeiten verwendet wird." -#: utils/misc/guc_tables.c:3126 +#: utils/misc/guc_tables.c:3132 msgid "Limit on the size of data reads and writes." -msgstr "" +msgstr "Begrenzung der Größe von Datenlese- und -schreibvorgängen." -#: utils/misc/guc_tables.c:3151 +#: utils/misc/guc_tables.c:3157 msgid "Maximum number of concurrent worker processes." msgstr "Maximale Anzahl gleichzeitiger Worker-Prozesse." -#: utils/misc/guc_tables.c:3163 +#: utils/misc/guc_tables.c:3169 msgid "Maximum number of logical replication worker processes." msgstr "Maximale Anzahl Arbeitsprozesse für logische Replikation." -#: utils/misc/guc_tables.c:3175 +#: utils/misc/guc_tables.c:3181 msgid "Maximum number of table synchronization workers per subscription." msgstr "Maximale Anzahl Arbeitsprozesse für Tabellensynchronisation pro Subskription." -#: utils/misc/guc_tables.c:3187 +#: utils/misc/guc_tables.c:3193 msgid "Maximum number of parallel apply workers per subscription." msgstr "Maximale Anzahl Parallel-Apply-Worker pro Subskription." -#: utils/misc/guc_tables.c:3197 +#: utils/misc/guc_tables.c:3203 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "Setzt die Zeit, die gewartet wird, bevor Logdateirotation erzwungen wird." -#: utils/misc/guc_tables.c:3209 +#: utils/misc/guc_tables.c:3215 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "Setzt die maximale Größe, die eine Logdatei erreichen kann, bevor sie rotiert wird." -#: utils/misc/guc_tables.c:3221 +#: utils/misc/guc_tables.c:3227 msgid "Shows the maximum number of function arguments." msgstr "Setzt die maximale Anzahl von Funktionsargumenten." -#: utils/misc/guc_tables.c:3232 +#: utils/misc/guc_tables.c:3238 msgid "Shows the maximum number of index keys." msgstr "Zeigt die maximale Anzahl von Indexschlüsseln." -#: utils/misc/guc_tables.c:3243 +#: utils/misc/guc_tables.c:3249 msgid "Shows the maximum identifier length." msgstr "Zeigt die maximale Länge von Bezeichnern." -#: utils/misc/guc_tables.c:3254 +#: utils/misc/guc_tables.c:3260 msgid "Shows the size of a disk block." msgstr "Zeigt die Größe eines Diskblocks." -#: utils/misc/guc_tables.c:3265 +#: utils/misc/guc_tables.c:3271 msgid "Shows the number of pages per disk file." msgstr "Zeigt die Anzahl Seiten pro Diskdatei." -#: utils/misc/guc_tables.c:3276 +#: utils/misc/guc_tables.c:3282 msgid "Shows the block size in the write ahead log." msgstr "Zeigt die Blockgröße im Write-Ahead-Log." -#: utils/misc/guc_tables.c:3287 +#: utils/misc/guc_tables.c:3293 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "Setzt die Zeit, die gewartet wird, bevor nach einem fehlgeschlagenen Versuch neue WAL-Daten angefordert werden." -#: utils/misc/guc_tables.c:3299 +#: utils/misc/guc_tables.c:3305 msgid "Shows the size of write ahead log segments." msgstr "Zeigt die Größe eines Write-Ahead-Log-Segments." -#: utils/misc/guc_tables.c:3312 +#: utils/misc/guc_tables.c:3318 msgid "Time for which WAL summary files should be kept." -msgstr "" +msgstr "Zeit, für die WAL-Summary-Dateien aufgehoben werden sollen." -#: utils/misc/guc_tables.c:3325 +#: utils/misc/guc_tables.c:3331 msgid "Time to sleep between autovacuum runs." msgstr "Wartezeit zwischen Autovacuum-Durchläufen." -#: utils/misc/guc_tables.c:3335 +#: utils/misc/guc_tables.c:3341 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Mindestanzahl an geänderten oder gelöschten Tupeln vor einem Vacuum." -#: utils/misc/guc_tables.c:3344 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "Mindestanzahl an Einfügeoperationen vor einem Vacuum, oder -1 um auszuschalten." -#: utils/misc/guc_tables.c:3353 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "Mindestanzahl an Einfüge-, Änderungs- oder Löschoperationen vor einem Analyze." -#: utils/misc/guc_tables.c:3363 +#: utils/misc/guc_tables.c:3369 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:3375 +#: utils/misc/guc_tables.c:3381 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "Multixact-Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:3385 +#: utils/misc/guc_tables.c:3391 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "Setzt die maximale Anzahl gleichzeitig laufender Autovacuum-Worker-Prozesse." -#: utils/misc/guc_tables.c:3395 +#: utils/misc/guc_tables.c:3401 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "Setzt die maximale Anzahl paralleler Prozesse pro Wartungsoperation." -#: utils/misc/guc_tables.c:3405 +#: utils/misc/guc_tables.c:3411 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Setzt die maximale Anzahl paralleler Prozesse pro Executor-Knoten." -#: utils/misc/guc_tables.c:3416 +#: utils/misc/guc_tables.c:3422 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "Setzt die maximale Anzahl paralleler Arbeitsprozesse, die gleichzeitig aktiv sein können." -#: utils/misc/guc_tables.c:3427 +#: utils/misc/guc_tables.c:3433 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "Setzt die maximale Speichergröße für jeden Autovacuum-Worker-Prozess." -#: utils/misc/guc_tables.c:3438 +#: utils/misc/guc_tables.c:3444 msgid "Time between issuing TCP keepalives." msgstr "Zeit zwischen TCP-Keepalive-Sendungen." -#: utils/misc/guc_tables.c:3439 utils/misc/guc_tables.c:3450 -#: utils/misc/guc_tables.c:3574 +#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 +#: utils/misc/guc_tables.c:3580 msgid "A value of 0 uses the system default." msgstr "Der Wert 0 verwendet die Systemvoreinstellung." -#: utils/misc/guc_tables.c:3449 +#: utils/misc/guc_tables.c:3455 msgid "Time between TCP keepalive retransmits." msgstr "Zeit zwischen TCP-Keepalive-Neuübertragungen." -#: utils/misc/guc_tables.c:3460 +#: utils/misc/guc_tables.c:3466 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "SSL-Renegotiation wird nicht mehr unterstützt; kann nur auf 0 gesetzt werden." -#: utils/misc/guc_tables.c:3471 +#: utils/misc/guc_tables.c:3477 msgid "Maximum number of TCP keepalive retransmits." msgstr "Maximale Anzahl an TCP-Keepalive-Neuübertragungen." -#: utils/misc/guc_tables.c:3472 +#: utils/misc/guc_tables.c:3478 msgid "Number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default." msgstr "Anzahl von aufeinanderfolgenden Keepalive-Neuübertragungen, die verloren gehen dürfen, bis die Verbindung als tot betrachtet wird. Der Wert 0 verwendet die Betriebssystemvoreinstellung." -#: utils/misc/guc_tables.c:3483 +#: utils/misc/guc_tables.c:3489 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Setzt die maximal erlaubte Anzahl Ergebnisse für eine genaue Suche mit GIN." -#: utils/misc/guc_tables.c:3494 +#: utils/misc/guc_tables.c:3500 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Setzt die Annahme des Planers über die Gesamtgröße der Daten-Caches." -#: utils/misc/guc_tables.c:3495 +#: utils/misc/guc_tables.c:3501 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each." msgstr "Das heißt, die Gesamtgröße der Caches (Kernel-Cache und Shared Buffers), die für Datendateien von PostgreSQL verwendet wird. Das wird in Diskseiten gemessen, welche normalerweise 8 kB groß sind." -#: utils/misc/guc_tables.c:3506 +#: utils/misc/guc_tables.c:3512 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "Setzt die Mindestmenge an Tabellendaten für einen parallelen Scan." -#: utils/misc/guc_tables.c:3507 +#: utils/misc/guc_tables.c:3513 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered." msgstr "Wenn der Planer schätzt, dass zu wenige Tabellenseiten gelesen werden werden um diesen Wert zu erreichen, dann wird kein paralleler Scan in Erwägung gezogen werden." -#: utils/misc/guc_tables.c:3517 +#: utils/misc/guc_tables.c:3523 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "Setzt die Mindestmenge an Indexdaten für einen parallelen Scan." -#: utils/misc/guc_tables.c:3518 +#: utils/misc/guc_tables.c:3524 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered." msgstr "Wenn der Planer schätzt, dass zu wenige Indexseiten gelesen werden werden um diesen Wert zu erreichen, dann wird kein paralleler Scan in Erwägung gezogen werden." -#: utils/misc/guc_tables.c:3529 +#: utils/misc/guc_tables.c:3535 msgid "Shows the server version as an integer." msgstr "Zeigt die Serverversion als Zahl." -#: utils/misc/guc_tables.c:3540 +#: utils/misc/guc_tables.c:3546 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "Schreibt Meldungen über die Verwendung von temporären Dateien in den Log, wenn sie größer als diese Anzahl an Kilobytes sind." -#: utils/misc/guc_tables.c:3541 +#: utils/misc/guc_tables.c:3547 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "Null loggt alle Dateien. Die Standardeinstellung ist -1 (wodurch dieses Feature ausgeschaltet wird)." -#: utils/misc/guc_tables.c:3551 +#: utils/misc/guc_tables.c:3557 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Setzt die für pg_stat_activity.query reservierte Größe, in Bytes." -#: utils/misc/guc_tables.c:3562 +#: utils/misc/guc_tables.c:3568 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Setzt die maximale Größe der Pending-Liste eines GIN-Index." -#: utils/misc/guc_tables.c:3573 +#: utils/misc/guc_tables.c:3579 msgid "TCP user timeout." msgstr "TCP-User-Timeout." -#: utils/misc/guc_tables.c:3584 +#: utils/misc/guc_tables.c:3590 msgid "The size of huge page that should be requested." msgstr "Huge-Page-Größe, die angefordert werden soll." -#: utils/misc/guc_tables.c:3595 +#: utils/misc/guc_tables.c:3601 msgid "Aggressively flush system caches for debugging purposes." msgstr "System-Caches aggressiv flushen, zum Debuggen." -#: utils/misc/guc_tables.c:3618 +#: utils/misc/guc_tables.c:3624 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "Setzt das Zeitintervall zwischen Prüfungen auf Verbindungsabbruch während Anfragen laufen." -#: utils/misc/guc_tables.c:3629 +#: utils/misc/guc_tables.c:3635 msgid "Time between progress updates for long-running startup operations." msgstr "Zeit zwischen Fortschrittsnachrichten für lange laufende Operationen beim Serverstart." -#: utils/misc/guc_tables.c:3631 +#: utils/misc/guc_tables.c:3637 msgid "0 turns this feature off." msgstr "0 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3641 +#: utils/misc/guc_tables.c:3647 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Setzt die Iterationszahl für die Erzeugung von SCRAM-Geheimnissen." -#: utils/misc/guc_tables.c:3661 +#: utils/misc/guc_tables.c:3667 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "Setzt den vom Planer geschätzten Aufwand, um eine sequenzielle Diskseite zu lesen." -#: utils/misc/guc_tables.c:3672 +#: utils/misc/guc_tables.c:3678 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "Setzt den vom Planer geschätzten Aufwand, um eine nichtsequenzielle Diskseite zu lesen." -#: utils/misc/guc_tables.c:3683 +#: utils/misc/guc_tables.c:3689 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung einer Zeile." -#: utils/misc/guc_tables.c:3694 +#: utils/misc/guc_tables.c:3700 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Indexeintrags während eines Index-Scans." -#: utils/misc/guc_tables.c:3705 +#: utils/misc/guc_tables.c:3711 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Operators oder Funktionsaufrufs." -#: utils/misc/guc_tables.c:3716 +#: utils/misc/guc_tables.c:3722 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "Setzt den vom Planer geschätzten Aufwand, um eine Zeile vom Arbeitsprozess an das Leader-Backend zu senden." -#: utils/misc/guc_tables.c:3727 +#: utils/misc/guc_tables.c:3733 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "Setzt den vom Planer geschätzten Aufwand für das Starten von Arbeitsprozessen für parallele Anfragen." -#: utils/misc/guc_tables.c:3739 +#: utils/misc/guc_tables.c:3745 msgid "Perform JIT compilation if query is more expensive." msgstr "JIT-Kompilierung durchführen, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3740 +#: utils/misc/guc_tables.c:3746 msgid "-1 disables JIT compilation." msgstr "-1 schaltet JIT-Kompilierung aus." -#: utils/misc/guc_tables.c:3750 +#: utils/misc/guc_tables.c:3756 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "JIT-kompilierte Funktionen optimieren, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3751 +#: utils/misc/guc_tables.c:3757 msgid "-1 disables optimization." msgstr "-1 schaltet Optimierung aus." -#: utils/misc/guc_tables.c:3761 +#: utils/misc/guc_tables.c:3767 msgid "Perform JIT inlining if query is more expensive." msgstr "JIT-Inlining durchführen, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3762 +#: utils/misc/guc_tables.c:3768 msgid "-1 disables inlining." msgstr "-1 schaltet Inlining aus." -#: utils/misc/guc_tables.c:3772 +#: utils/misc/guc_tables.c:3778 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "Setzt die Planerschätzung für den Anteil der Cursor-Zeilen, die ausgelesen werden werden." -#: utils/misc/guc_tables.c:3784 +#: utils/misc/guc_tables.c:3790 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "Setzt die Planerschätzung für die durchschnittliche Größe der Arbeitstabelle einer rekursiven Anfrage." -#: utils/misc/guc_tables.c:3796 +#: utils/misc/guc_tables.c:3802 msgid "GEQO: selective pressure within the population." msgstr "GEQO: selektiver Auswahldruck in der Bevölkerung." -#: utils/misc/guc_tables.c:3807 +#: utils/misc/guc_tables.c:3813 msgid "GEQO: seed for random path selection." msgstr "GEQO: Ausgangswert für die zufällige Pfadauswahl." -#: utils/misc/guc_tables.c:3818 +#: utils/misc/guc_tables.c:3824 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "Vielfaches von »work_mem« zur Verwendung bei Hash-Tabellen." -#: utils/misc/guc_tables.c:3829 +#: utils/misc/guc_tables.c:3835 msgid "Multiple of the average buffer usage to free per round." msgstr "Vielfaches der durchschnittlichen freizugebenden Pufferverwendung pro Runde." -#: utils/misc/guc_tables.c:3839 +#: utils/misc/guc_tables.c:3845 msgid "Sets the seed for random-number generation." msgstr "Setzt den Ausgangswert für die Zufallszahlenerzeugung." -#: utils/misc/guc_tables.c:3850 +#: utils/misc/guc_tables.c:3856 msgid "Vacuum cost delay in milliseconds." msgstr "Vacuum-Kosten-Verzögerung in Millisekunden." -#: utils/misc/guc_tables.c:3861 +#: utils/misc/guc_tables.c:3867 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Vacuum-Kosten-Verzögerung in Millisekunden, für Autovacuum." -#: utils/misc/guc_tables.c:3872 +#: utils/misc/guc_tables.c:3878 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "Anzahl geänderter oder gelöschter Tupel vor einem Vacuum, relativ zu reltuples." -#: utils/misc/guc_tables.c:3882 +#: utils/misc/guc_tables.c:3888 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "Anzahl eingefügter Tupel vor einem Vacuum, relativ zu reltuples." -#: utils/misc/guc_tables.c:3892 +#: utils/misc/guc_tables.c:3898 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "Anzahl eingefügter, geänderter oder gelöschter Tupel vor einem Analyze, relativ zu reltuples." -#: utils/misc/guc_tables.c:3902 +#: utils/misc/guc_tables.c:3908 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "Zeit, die damit verbracht wird, modifizierte Puffer während eines Checkpoints zurückzuschreiben, als Bruchteil des Checkpoint-Intervalls." -#: utils/misc/guc_tables.c:3912 +#: utils/misc/guc_tables.c:3918 msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "Anteil der zu loggenden Anweisungen, die »log_min_duration_sample« überschreiten." -#: utils/misc/guc_tables.c:3913 +#: utils/misc/guc_tables.c:3919 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (immer loggen)." -#: utils/misc/guc_tables.c:3922 +#: utils/misc/guc_tables.c:3928 msgid "Sets the fraction of transactions from which to log all statements." msgstr "Setzt den Bruchteil der Transaktionen, aus denen alle Anweisungen geloggt werden." -#: utils/misc/guc_tables.c:3923 +#: utils/misc/guc_tables.c:3929 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (alle Anweisungen für alle Transaktionen loggen)." -#: utils/misc/guc_tables.c:3942 +#: utils/misc/guc_tables.c:3948 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine WAL-Datei zu archivieren." -#: utils/misc/guc_tables.c:3943 +#: utils/misc/guc_tables.c:3949 msgid "This is used only if \"archive_library\" is not set." msgstr "Dieser wird nur verwendet, wenn »archive_library« nicht gesetzt ist." -#: utils/misc/guc_tables.c:3952 +#: utils/misc/guc_tables.c:3958 msgid "Sets the library that will be called to archive a WAL file." msgstr "Setzt die Bibliothek, die aufgerufen wird, um eine WAL-Datei zu archivieren." -#: utils/misc/guc_tables.c:3953 +#: utils/misc/guc_tables.c:3959 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "Eine leere Zeichenkette bedeutet, dass »archive_command« verwendet werden soll." -#: utils/misc/guc_tables.c:3962 +#: utils/misc/guc_tables.c:3968 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine archivierte WAL-Datei zurückzuholen." -#: utils/misc/guc_tables.c:3972 +#: utils/misc/guc_tables.c:3978 msgid "Sets the shell command that will be executed at every restart point." msgstr "Setzt den Shell-Befehl, der bei jedem Restart-Punkt ausgeführt wird." -#: utils/misc/guc_tables.c:3982 +#: utils/misc/guc_tables.c:3988 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "Setzt den Shell-Befehl, der einmal am Ende der Wiederherstellung ausgeführt wird." -#: utils/misc/guc_tables.c:3992 +#: utils/misc/guc_tables.c:3998 msgid "Specifies the timeline to recover into." msgstr "Gibt die Zeitleiste für die Wiederherstellung an." -#: utils/misc/guc_tables.c:4002 +#: utils/misc/guc_tables.c:4008 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "Auf »immediate« setzen, um die Wiederherstellung zu beenden, sobald ein konsistenter Zustand erreicht ist." -#: utils/misc/guc_tables.c:4011 +#: utils/misc/guc_tables.c:4017 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "Setzt die Transaktions-ID, bis zu der die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4020 +#: utils/misc/guc_tables.c:4026 msgid "Sets the time stamp up to which recovery will proceed." msgstr "Setzt den Zeitstempel, bis zu dem die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4029 +#: utils/misc/guc_tables.c:4035 msgid "Sets the named restore point up to which recovery will proceed." msgstr "Setzt den benannten Restore-Punkt, bis zu dem die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4038 +#: utils/misc/guc_tables.c:4044 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "Setzt die LSN der Write-Ahead-Log-Position, bis zu der die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4048 +#: utils/misc/guc_tables.c:4054 msgid "Sets the connection string to be used to connect to the sending server." msgstr "Setzt die Verbindungszeichenkette zur Verbindung mit dem sendenden Server." -#: utils/misc/guc_tables.c:4059 +#: utils/misc/guc_tables.c:4065 msgid "Sets the name of the replication slot to use on the sending server." msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server." -#: utils/misc/guc_tables.c:4069 +#: utils/misc/guc_tables.c:4075 msgid "Sets the client's character set encoding." msgstr "Setzt die Zeichensatzkodierung des Clients." -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4086 msgid "Controls information prefixed to each log line." msgstr "Bestimmt die Informationen, die vor jede Logzeile geschrieben werden." -#: utils/misc/guc_tables.c:4081 +#: utils/misc/guc_tables.c:4087 msgid "If blank, no prefix is used." msgstr "Wenn leer, dann wird kein Präfix verwendet." -#: utils/misc/guc_tables.c:4090 +#: utils/misc/guc_tables.c:4096 msgid "Sets the time zone to use in log messages." msgstr "Setzt die in Logmeldungen verwendete Zeitzone." -#: utils/misc/guc_tables.c:4100 +#: utils/misc/guc_tables.c:4106 msgid "Sets the display format for date and time values." msgstr "Setzt das Ausgabeformat für Datums- und Zeitwerte." -#: utils/misc/guc_tables.c:4101 +#: utils/misc/guc_tables.c:4107 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Kontrolliert auch die Interpretation von zweideutigen Datumseingaben." -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4118 msgid "Sets the default table access method for new tables." msgstr "Setzt die Standard-Tabellenzugriffsmethode für neue Tabellen." -#: utils/misc/guc_tables.c:4123 +#: utils/misc/guc_tables.c:4129 msgid "Sets the default tablespace to create tables and indexes in." msgstr "Setzt den Standard-Tablespace für Tabellen und Indexe." -#: utils/misc/guc_tables.c:4124 +#: utils/misc/guc_tables.c:4130 msgid "An empty string selects the database's default tablespace." msgstr "Eine leere Zeichenkette wählt den Standard-Tablespace der Datenbank." -#: utils/misc/guc_tables.c:4134 +#: utils/misc/guc_tables.c:4140 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "Setzt den oder die Tablespaces für temporäre Tabellen und Sortierdateien." -#: utils/misc/guc_tables.c:4145 +#: utils/misc/guc_tables.c:4151 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "Bestimmt, ob ein CREATEROLE-Benutzer sich die Rolle automatisch selbst gewährt, und mit welchen Optionen." -#: utils/misc/guc_tables.c:4157 +#: utils/misc/guc_tables.c:4163 msgid "Sets the path for dynamically loadable modules." msgstr "Setzt den Pfad für ladbare dynamische Bibliotheken." -#: utils/misc/guc_tables.c:4158 +#: utils/misc/guc_tables.c:4164 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file." msgstr "Wenn ein dynamisch ladbares Modul geöffnet werden muss und der angegebene Name keine Verzeichniskomponente hat (das heißt er enthält keinen Schrägstrich), dann sucht das System in diesem Pfad nach der angegebenen Datei." -#: utils/misc/guc_tables.c:4171 +#: utils/misc/guc_tables.c:4177 msgid "Sets the location of the Kerberos server key file." msgstr "Setzt den Ort der Kerberos-Server-Schlüsseldatei." -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4188 msgid "Sets the Bonjour service name." msgstr "Setzt den Bonjour-Servicenamen." -#: utils/misc/guc_tables.c:4192 +#: utils/misc/guc_tables.c:4198 msgid "Sets the language in which messages are displayed." msgstr "Setzt die Sprache, in der Mitteilungen ausgegeben werden." -#: utils/misc/guc_tables.c:4202 +#: utils/misc/guc_tables.c:4208 msgid "Sets the locale for formatting monetary amounts." msgstr "Setzt die Locale für die Formatierung von Geldbeträgen." -#: utils/misc/guc_tables.c:4212 +#: utils/misc/guc_tables.c:4218 msgid "Sets the locale for formatting numbers." msgstr "Setzt die Locale für die Formatierung von Zahlen." -#: utils/misc/guc_tables.c:4222 +#: utils/misc/guc_tables.c:4228 msgid "Sets the locale for formatting date and time values." msgstr "Setzt die Locale für die Formatierung von Datums- und Zeitwerten." -#: utils/misc/guc_tables.c:4232 +#: utils/misc/guc_tables.c:4238 msgid "Lists shared libraries to preload into each backend." msgstr "Listet dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden." -#: utils/misc/guc_tables.c:4243 +#: utils/misc/guc_tables.c:4249 msgid "Lists shared libraries to preload into server." msgstr "Listet dynamische Bibliotheken, die vorab in den Server geladen werden." -#: utils/misc/guc_tables.c:4254 +#: utils/misc/guc_tables.c:4260 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "Listet unprivilegierte dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden." -#: utils/misc/guc_tables.c:4265 +#: utils/misc/guc_tables.c:4271 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Setzt die Schemasuchreihenfolge für Namen ohne Schemaqualifikation." -#: utils/misc/guc_tables.c:4277 +#: utils/misc/guc_tables.c:4283 msgid "Shows the server (database) character set encoding." msgstr "Zeigt die Zeichensatzkodierung des Servers (der Datenbank)." -#: utils/misc/guc_tables.c:4289 +#: utils/misc/guc_tables.c:4295 msgid "Shows the server version." msgstr "Zeigt die Serverversion." -#: utils/misc/guc_tables.c:4301 +#: utils/misc/guc_tables.c:4307 msgid "Sets the current role." msgstr "Setzt die aktuelle Rolle." -#: utils/misc/guc_tables.c:4313 +#: utils/misc/guc_tables.c:4319 msgid "Sets the session user name." msgstr "Setzt den Sitzungsbenutzernamen." -#: utils/misc/guc_tables.c:4324 +#: utils/misc/guc_tables.c:4330 msgid "Sets the destination for server log output." msgstr "Setzt das Ziel für die Serverlogausgabe." -#: utils/misc/guc_tables.c:4325 +#: utils/misc/guc_tables.c:4331 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "Gültige Werte sind Kombinationen von »stderr«, »syslog«, »csvlog«, »jsonlog« und »eventlog«, je nach Plattform." -#: utils/misc/guc_tables.c:4336 +#: utils/misc/guc_tables.c:4342 msgid "Sets the destination directory for log files." msgstr "Bestimmt das Zielverzeichnis für Logdateien." -#: utils/misc/guc_tables.c:4337 +#: utils/misc/guc_tables.c:4343 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "Kann relativ zum Datenverzeichnis oder als absoluter Pfad angegeben werden." -#: utils/misc/guc_tables.c:4347 +#: utils/misc/guc_tables.c:4353 msgid "Sets the file name pattern for log files." msgstr "Bestimmt das Dateinamenmuster für Logdateien." -#: utils/misc/guc_tables.c:4358 +#: utils/misc/guc_tables.c:4364 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Syslog identifiziert werden." -#: utils/misc/guc_tables.c:4369 +#: utils/misc/guc_tables.c:4375 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Ereignisprotokoll identifiziert werden." -#: utils/misc/guc_tables.c:4380 +#: utils/misc/guc_tables.c:4386 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "Setzt die Zeitzone, in der Zeitangaben interpretiert und ausgegeben werden." -#: utils/misc/guc_tables.c:4390 +#: utils/misc/guc_tables.c:4396 msgid "Selects a file of time zone abbreviations." msgstr "Wählt eine Datei mit Zeitzonenabkürzungen." -#: utils/misc/guc_tables.c:4400 +#: utils/misc/guc_tables.c:4406 msgid "Sets the owning group of the Unix-domain socket." msgstr "Setzt die Eigentümergruppe der Unix-Domain-Socket." -#: utils/misc/guc_tables.c:4401 +#: utils/misc/guc_tables.c:4407 msgid "The owning user of the socket is always the user that starts the server." msgstr "Der Eigentümer ist immer der Benutzer, der den Server startet." -#: utils/misc/guc_tables.c:4411 +#: utils/misc/guc_tables.c:4417 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Setzt die Verzeichnisse, in denen Unix-Domain-Sockets erzeugt werden sollen." -#: utils/misc/guc_tables.c:4422 +#: utils/misc/guc_tables.c:4428 msgid "Sets the host name or IP address(es) to listen to." msgstr "Setzt den Hostnamen oder die IP-Adresse(n), auf der auf Verbindungen gewartet wird." -#: utils/misc/guc_tables.c:4437 +#: utils/misc/guc_tables.c:4443 msgid "Sets the server's data directory." msgstr "Setzt das Datenverzeichnis des Servers." -#: utils/misc/guc_tables.c:4448 +#: utils/misc/guc_tables.c:4454 msgid "Sets the server's main configuration file." msgstr "Setzt die Hauptkonfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4459 +#: utils/misc/guc_tables.c:4465 msgid "Sets the server's \"hba\" configuration file." msgstr "Setzt die »hba«-Konfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4470 +#: utils/misc/guc_tables.c:4476 msgid "Sets the server's \"ident\" configuration file." msgstr "Setzt die »ident«-Konfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4481 +#: utils/misc/guc_tables.c:4487 msgid "Writes the postmaster PID to the specified file." msgstr "Schreibt die Postmaster-PID in die angegebene Datei." -#: utils/misc/guc_tables.c:4492 +#: utils/misc/guc_tables.c:4498 msgid "Shows the name of the SSL library." msgstr "Zeigt den Namen der SSL-Bibliothek." -#: utils/misc/guc_tables.c:4507 +#: utils/misc/guc_tables.c:4513 msgid "Location of the SSL server certificate file." msgstr "Ort der SSL-Serverzertifikatsdatei." -#: utils/misc/guc_tables.c:4517 +#: utils/misc/guc_tables.c:4523 msgid "Location of the SSL server private key file." msgstr "Setzt den Ort der Datei mit dem privaten SSL-Server-Schlüssel." -#: utils/misc/guc_tables.c:4527 +#: utils/misc/guc_tables.c:4533 msgid "Location of the SSL certificate authority file." msgstr "Ort der SSL-Certificate-Authority-Datei." -#: utils/misc/guc_tables.c:4537 +#: utils/misc/guc_tables.c:4543 msgid "Location of the SSL certificate revocation list file." msgstr "Ort der SSL-Certificate-Revocation-List-Datei." -#: utils/misc/guc_tables.c:4547 +#: utils/misc/guc_tables.c:4553 msgid "Location of the SSL certificate revocation list directory." msgstr "Ort des SSL-Certificate-Revocation-List-Verzeichnisses." -#: utils/misc/guc_tables.c:4557 +#: utils/misc/guc_tables.c:4563 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "Anzahl synchroner Standbys und Liste der Namen der möglichen synchronen Standbys." -#: utils/misc/guc_tables.c:4568 +#: utils/misc/guc_tables.c:4574 msgid "Sets default text search configuration." msgstr "Setzt die vorgegebene Textsuchekonfiguration." -#: utils/misc/guc_tables.c:4578 +#: utils/misc/guc_tables.c:4584 msgid "Sets the list of allowed SSL ciphers." msgstr "Setzt die Liste der erlaubten SSL-Verschlüsselungsalgorithmen." -#: utils/misc/guc_tables.c:4593 +#: utils/misc/guc_tables.c:4599 msgid "Sets the curve to use for ECDH." msgstr "Setzt die für ECDH zu verwendende Kurve." -#: utils/misc/guc_tables.c:4608 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL DH parameters file." msgstr "Setzt den Ort der SSL-DH-Parameter-Datei." -#: utils/misc/guc_tables.c:4619 +#: utils/misc/guc_tables.c:4625 msgid "Command to obtain passphrases for SSL." msgstr "Befehl zum Einlesen von Passphrasen für SSL." -#: utils/misc/guc_tables.c:4630 +#: utils/misc/guc_tables.c:4636 msgid "Sets the application name to be reported in statistics and logs." msgstr "Setzt den Anwendungsnamen, der in Statistiken und Logs verzeichnet wird." -#: utils/misc/guc_tables.c:4641 +#: utils/misc/guc_tables.c:4647 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Setzt den Namen des Clusters, welcher im Prozesstitel angezeigt wird." -#: utils/misc/guc_tables.c:4652 +#: utils/misc/guc_tables.c:4658 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "Setzt die WAL-Resource-Manager, für die WAL-Konsistenzprüfungen durchgeführt werden." -#: utils/misc/guc_tables.c:4653 +#: utils/misc/guc_tables.c:4659 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "Volle Seitenabbilder werden für alle Datenblöcke geloggt und gegen die Resultate der WAL-Wiederherstellung geprüft." -#: utils/misc/guc_tables.c:4663 +#: utils/misc/guc_tables.c:4669 msgid "JIT provider to use." msgstr "Zu verwendender JIT-Provider." -#: utils/misc/guc_tables.c:4674 +#: utils/misc/guc_tables.c:4680 msgid "Log backtrace for errors in these functions." msgstr "Backtrace für Fehler in diesen Funktionen loggen." -#: utils/misc/guc_tables.c:4685 +#: utils/misc/guc_tables.c:4691 msgid "Use direct I/O for file access." msgstr "Direct-I/O für Dateizugriff verwenden." -#: utils/misc/guc_tables.c:4696 -msgid "Lists streaming replication standby server slot names that logical WAL sender processes will wait for." -msgstr "" +#: utils/misc/guc_tables.c:4702 +msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." +msgstr "Listet Replikations-Slot-Namen von Streaming-Replication-Standby-Servern, auf die logische WAL-Sender warten werden." -#: utils/misc/guc_tables.c:4698 -msgid "Logical WAL sender processes will send decoded changes to plugins only after the specified replication slots confirm receiving WAL." -msgstr "" +#: utils/misc/guc_tables.c:4704 +msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." +msgstr "Logische WAL-Sender-Prozesse werden dekodierte Änderungen erst an die Ausgabe-Plugins senden, nachdem die angegebenen Replikations-Slots den Empfang von WAL bestätigt haben." + +#: utils/misc/guc_tables.c:4716 +msgid "Prohibits access to non-system relations of specified kinds." +msgstr "Verbietet Zugriff auf Nicht-System-Relationen der angegeben Arten." -#: utils/misc/guc_tables.c:4719 +#: utils/misc/guc_tables.c:4736 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Bestimmt, ob »\\'« in Zeichenkettenkonstanten erlaubt ist." -#: utils/misc/guc_tables.c:4729 +#: utils/misc/guc_tables.c:4746 msgid "Sets the output format for bytea." msgstr "Setzt das Ausgabeformat für bytea." -#: utils/misc/guc_tables.c:4739 +#: utils/misc/guc_tables.c:4756 msgid "Sets the message levels that are sent to the client." msgstr "Setzt die Meldungstypen, die an den Client gesendet werden." -#: utils/misc/guc_tables.c:4740 utils/misc/guc_tables.c:4836 -#: utils/misc/guc_tables.c:4847 +#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 +#: utils/misc/guc_tables.c:4864 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "Jeder Wert schließt alle ihm folgenden Werte mit ein. Je weiter hinten der Wert steht, desto weniger Meldungen werden gesendet werden." -#: utils/misc/guc_tables.c:4750 +#: utils/misc/guc_tables.c:4767 msgid "Enables in-core computation of query identifiers." msgstr "Schaltet die eingebaute Berechnung von Anfragebezeichnern ein." -#: utils/misc/guc_tables.c:4760 +#: utils/misc/guc_tables.c:4777 msgid "Enables the planner to use constraints to optimize queries." msgstr "Ermöglicht dem Planer die Verwendung von Constraints, um Anfragen zu optimieren." -#: utils/misc/guc_tables.c:4761 +#: utils/misc/guc_tables.c:4778 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "Tabellen-Scans werden übersprungen, wenn deren Constraints garantieren, dass keine Zeile mit der Abfrage übereinstimmt." -#: utils/misc/guc_tables.c:4772 +#: utils/misc/guc_tables.c:4789 msgid "Sets the default compression method for compressible values." msgstr "Setzt die Standard-Komprimierungsmethode für komprimierbare Werte." -#: utils/misc/guc_tables.c:4783 +#: utils/misc/guc_tables.c:4800 msgid "Sets the transaction isolation level of each new transaction." msgstr "Setzt den Transaktionsisolationsgrad neuer Transaktionen." -#: utils/misc/guc_tables.c:4793 +#: utils/misc/guc_tables.c:4810 msgid "Sets the current transaction's isolation level." msgstr "Zeigt den Isolationsgrad der aktuellen Transaktion." -#: utils/misc/guc_tables.c:4804 +#: utils/misc/guc_tables.c:4821 msgid "Sets the display format for interval values." msgstr "Setzt das Ausgabeformat für Intervallwerte." -#: utils/misc/guc_tables.c:4815 +#: utils/misc/guc_tables.c:4832 msgid "Log level for reporting invalid ICU locale strings." msgstr "Loglevel für Meldungen über ungültige ICU-Locale-Zeichenketten." -#: utils/misc/guc_tables.c:4825 +#: utils/misc/guc_tables.c:4842 msgid "Sets the verbosity of logged messages." msgstr "Setzt den Detailgrad von geloggten Meldungen." -#: utils/misc/guc_tables.c:4835 +#: utils/misc/guc_tables.c:4852 msgid "Sets the message levels that are logged." msgstr "Setzt die Meldungstypen, die geloggt werden." -#: utils/misc/guc_tables.c:4846 +#: utils/misc/guc_tables.c:4863 msgid "Causes all statements generating error at or above this level to be logged." msgstr "Schreibt alle Anweisungen, die einen Fehler auf dieser Stufe oder höher verursachen, in den Log." -#: utils/misc/guc_tables.c:4857 +#: utils/misc/guc_tables.c:4874 msgid "Sets the type of statements logged." msgstr "Setzt die Anweisungsarten, die geloggt werden." -#: utils/misc/guc_tables.c:4867 +#: utils/misc/guc_tables.c:4884 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Setzt die zu verwendende Syslog-»Facility«, wenn Syslog angeschaltet ist." -#: utils/misc/guc_tables.c:4878 +#: utils/misc/guc_tables.c:4895 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Setzt das Sitzungsverhalten für Trigger und Regeln." -#: utils/misc/guc_tables.c:4888 +#: utils/misc/guc_tables.c:4905 msgid "Sets the current transaction's synchronization level." msgstr "Setzt den Synchronisationsgrad der aktuellen Transaktion." -#: utils/misc/guc_tables.c:4898 +#: utils/misc/guc_tables.c:4915 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Erlaubt die Archivierung von WAL-Dateien mittels »archive_command«." -#: utils/misc/guc_tables.c:4908 +#: utils/misc/guc_tables.c:4925 msgid "Sets the action to perform upon reaching the recovery target." msgstr "Setzt die Aktion, die beim Erreichen des Wiederherstellungsziels durchgeführt wird." -#: utils/misc/guc_tables.c:4918 +#: utils/misc/guc_tables.c:4935 msgid "Collects function-level statistics on database activity." msgstr "Sammelt Statistiken auf Funktionsebene über Datenbankaktivität." -#: utils/misc/guc_tables.c:4929 +#: utils/misc/guc_tables.c:4946 msgid "Sets the consistency of accesses to statistics data." msgstr "Setzt die Konsistenz von Zugriffen auf Statistikdaten." -#: utils/misc/guc_tables.c:4939 +#: utils/misc/guc_tables.c:4956 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Komprimiert in WAL-Dateien geschriebene volle Seiten mit der angegebenen Methode." -#: utils/misc/guc_tables.c:4949 +#: utils/misc/guc_tables.c:4966 msgid "Sets the level of information written to the WAL." msgstr "Setzt den Umfang der in den WAL geschriebenen Informationen." -#: utils/misc/guc_tables.c:4959 +#: utils/misc/guc_tables.c:4976 msgid "Selects the dynamic shared memory implementation used." msgstr "Wählt die zu verwendende Implementierung von dynamischem Shared Memory." -#: utils/misc/guc_tables.c:4969 +#: utils/misc/guc_tables.c:4986 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "Wählt die Shared-Memory-Implementierung, die für den Haupt-Shared-Memory-Bereich verwendet wird." -#: utils/misc/guc_tables.c:4979 +#: utils/misc/guc_tables.c:4996 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Wählt die Methode, um das Schreiben von WAL-Änderungen auf die Festplatte zu erzwingen." -#: utils/misc/guc_tables.c:4989 +#: utils/misc/guc_tables.c:5006 msgid "Sets how binary values are to be encoded in XML." msgstr "Setzt, wie binäre Werte in XML kodiert werden." -#: utils/misc/guc_tables.c:4999 +#: utils/misc/guc_tables.c:5016 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "Setzt, ob XML-Daten in impliziten Parse- und Serialisierungsoperationen als Dokument oder Fragment betrachtet werden sollen." -#: utils/misc/guc_tables.c:5010 +#: utils/misc/guc_tables.c:5027 msgid "Use of huge pages on Linux or Windows." msgstr "Huge Pages auf Linux oder Windows verwenden." -#: utils/misc/guc_tables.c:5020 +#: utils/misc/guc_tables.c:5037 msgid "Indicates the status of huge pages." msgstr "Zeigt den Status von Huge Pages an." -#: utils/misc/guc_tables.c:5031 +#: utils/misc/guc_tables.c:5048 msgid "Prefetch referenced blocks during recovery." msgstr "Während der Wiederherstellung Blöcke, auf die verwiesen wird, vorab einlesen." -#: utils/misc/guc_tables.c:5032 +#: utils/misc/guc_tables.c:5049 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Im WAL vorausschauen, um Verweise auf ungecachte Daten zu finden." -#: utils/misc/guc_tables.c:5041 +#: utils/misc/guc_tables.c:5058 msgid "Forces the planner's use parallel query nodes." msgstr "Erzwingt die Verwendung von Parallel-Query-Knoten im Planer." -#: utils/misc/guc_tables.c:5042 +#: utils/misc/guc_tables.c:5059 msgid "This can be useful for testing the parallel query infrastructure by forcing the planner to generate plans that contain nodes that perform tuple communication between workers and the main process." msgstr "Das kann nützlich sein, um die Parallel-Query-Infrastruktur zu testen, indem der Planer gezwungen wird, Pläne zu erzeugen, die Knoten enthalten, die Tupelkommunikation zwischen Worker- und Hauptprozess durchführen." -#: utils/misc/guc_tables.c:5054 +#: utils/misc/guc_tables.c:5071 msgid "Chooses the algorithm for encrypting passwords." msgstr "Wählt den Algorithmus zum Verschlüsseln von Passwörtern." -#: utils/misc/guc_tables.c:5064 +#: utils/misc/guc_tables.c:5081 msgid "Controls the planner's selection of custom or generic plan." msgstr "Kontrolliert, ob der Planer einen maßgeschneiderten oder einen allgemeinen Plan verwendet." -#: utils/misc/guc_tables.c:5065 +#: utils/misc/guc_tables.c:5082 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better. This can be set to override the default behavior." msgstr "Vorbereitete Anweisungen können maßgeschneiderte oder allgemeine Pläne haben und der Planer wird versuchen, den besseren auszuwählen. Diese Einstellung kann das Standardverhalten außer Kraft setzen." -#: utils/misc/guc_tables.c:5077 +#: utils/misc/guc_tables.c:5094 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Setzt die minimale zu verwendende SSL/TLS-Protokollversion." -#: utils/misc/guc_tables.c:5089 +#: utils/misc/guc_tables.c:5106 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Setzt die maximale zu verwendende SSL/TLS-Protokollversion." -#: utils/misc/guc_tables.c:5101 +#: utils/misc/guc_tables.c:5118 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "Setzt die Methode für das Synchronisieren des Datenverzeichnisses vor der Wiederherstellung nach einem Absturz." -#: utils/misc/guc_tables.c:5110 +#: utils/misc/guc_tables.c:5127 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "Erzwingt sofortiges Streaming oder sofortige Serialisierung von Änderungen in großen Transaktionen." -#: utils/misc/guc_tables.c:5111 +#: utils/misc/guc_tables.c:5128 msgid "On the publisher, it allows streaming or serializing each change in logical decoding. On the subscriber, it allows serialization of all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction." msgstr "Auf dem Publikationsserver erlaubt es Streaming oder Serialisierung jeder Änderung aus logischer Dekodierung. Auf dem Subskriptionsserver erlaubt es die Serialisierung aller Änderungen in Dateien und benachrichtigt die Parallel-Apply-Worker, sie nach dem Ende der Transaktion zu lesen und anzuwenden." diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po index 2200bf066f15a..566438a21fbc5 100644 --- a/src/backend/po/sv.po +++ b/src/backend/po/sv.po @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-03 13:16+0000\n" -"PO-Revision-Date: 2024-08-04 10:23+0200\n" +"POT-Creation-Date: 2024-08-31 06:16+0000\n" +"PO-Revision-Date: 2024-09-01 21:09+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -34,9 +34,9 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../common/binaryheap.c:121 ../common/binaryheap.c:159 -#, fuzzy, c-format +#, c-format msgid "out of binary heap slots" -msgstr "slut på bakgrundsarbetarslots" +msgstr "slut på slottar i binär-heap" #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 @@ -96,7 +96,7 @@ msgid "not recorded" msgstr "ej sparad" #: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 -#: commands/copyfrom.c:1737 commands/extension.c:3538 utils/adt/genfile.c:123 +#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123 #: utils/time/snapmgr.c:1430 #, c-format msgid "could not open file \"%s\" for reading: %m" @@ -110,7 +110,7 @@ msgstr "kunde inte öppna filen \"%s\" för läsning: %m" #: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 -#: replication/logical/reorderbuffer.c:5084 +#: replication/logical/reorderbuffer.c:5108 #: replication/logical/snapbuild.c:2052 replication/slot.c:2236 #: replication/slot.c:2277 replication/walsender.c:655 #: storage/file/buffile.c:470 storage/file/copydir.c:185 @@ -137,10 +137,10 @@ msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" #: access/transam/twophase.c:1793 access/transam/xlog.c:3322 #: access/transam/xlog.c:3516 access/transam/xlog.c:3521 #: access/transam/xlog.c:3657 access/transam/xlog.c:4310 -#: access/transam/xlog.c:5245 commands/copyfrom.c:1797 commands/copyto.c:325 +#: access/transam/xlog.c:5245 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 -#: replication/logical/reorderbuffer.c:5136 +#: replication/logical/reorderbuffer.c:5160 #: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943 #: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670 #: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 @@ -179,17 +179,17 @@ msgstr "" #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3737 -#: replication/logical/reorderbuffer.c:4291 -#: replication/logical/reorderbuffer.c:5064 +#: replication/logical/reorderbuffer.c:3761 +#: replication/logical/reorderbuffer.c:4315 +#: replication/logical/reorderbuffer.c:5088 #: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884 #: replication/slot.c:2208 replication/walsender.c:628 #: replication/walsender.c:3051 storage/file/copydir.c:151 #: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 #: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818 -#: utils/cache/relmapper.c:935 utils/error/elog.c:2107 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 -#: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" @@ -216,7 +216,7 @@ msgstr "kunde inte skriva fil \"%s\": %m" #: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812 #: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820 #: storage/file/fd.c:3851 storage/smgr/md.c:1329 storage/smgr/md.c:1374 -#: storage/sync/sync.c:446 utils/misc/guc.c:4480 +#: storage/sync/sync.c:446 utils/misc/guc.c:4489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "kunde inte fsync:a fil \"%s\": %m" @@ -233,7 +233,7 @@ msgstr "kunde inte fsync:a fil \"%s\": %m" #: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524 #: postmaster/bgworker.c:355 postmaster/bgworker.c:945 #: postmaster/postmaster.c:3559 postmaster/postmaster.c:4019 -#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:933 +#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:935 #: replication/libpqwalreceiver/libpqwalreceiver.c:387 #: replication/logical/logical.c:210 replication/walsender.c:835 #: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 @@ -246,7 +246,7 @@ msgstr "kunde inte fsync:a fil \"%s\": %m" #: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401 #: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 #: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062 -#: utils/misc/guc.c:4458 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 +#: utils/misc/guc.c:4467 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 #: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 #: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 #: utils/mmgr/slab.c:370 @@ -290,8 +290,8 @@ msgstr "kunde inte hitta en \"%s\" att köra" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1721 -#: commands/copyto.c:649 libpq/be-secure-common.c:59 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723 +#: commands/copyto.c:650 libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "kunde inte köra kommandot \"%s\": %m" @@ -336,8 +336,8 @@ msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" #: ../common/file_utils.c:570 access/transam/twophase.c:1337 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 #: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624 -#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1747 -#: commands/copyto.c:695 commands/extension.c:3527 commands/tablespace.c:804 +#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 +#: commands/copyto.c:696 commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 #: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173 #: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 @@ -563,8 +563,8 @@ msgid "unexpected manifest version" msgstr "oväntad manifestversion" #: ../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "manifestets systemidentifierare är inte ett haltal" +msgid "system identifier in manifest not an integer" +msgstr "manifestets systemidentifierare är inte ett heltal" #: ../common/parse_manifest.c:662 msgid "missing path name" @@ -660,8 +660,8 @@ msgstr "kunde inte parsa backup-manifest: %s" #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 #: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 -#: utils/misc/guc.c:3283 utils/misc/guc.c:4662 utils/misc/guc.c:6887 -#: utils/misc/guc.c:6928 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896 +#: utils/misc/guc.c:6937 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ogiltigt värde för parameter \"%s\": \"%s\"" @@ -725,7 +725,7 @@ msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" #: access/transam/twophase.c:1726 access/transam/xlogarchive.c:119 #: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048 #: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4560 +#: replication/logical/reorderbuffer.c:4584 #: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146 #: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378 #: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 @@ -937,7 +937,7 @@ msgid "could not open parent table of index \"%s\"" msgstr "kunde inte öppna föräldratabell för index \"%s\"" #: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2249 #, c-format msgid "index \"%s\" is not valid" msgstr "index \"%s\" är inte giltigt" @@ -1069,7 +1069,7 @@ msgid "index row requires %zu bytes, maximum size is %zu" msgstr "indexrad kräver %zu byte, maximal storlek är %zu" #: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 -#: tcop/fastpath.c:454 tcop/postgres.c:1940 +#: tcop/fastpath.c:454 tcop/postgres.c:1944 #, c-format msgid "unsupported format code: %d" msgstr "ej stödd formatkod: %d" @@ -1295,7 +1295,7 @@ msgstr "kunde inte bestämma vilken jämförelse (collation) som skall användas #: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 #: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 -#: commands/indexcmds.c:2047 commands/tablecmds.c:18083 commands/view.c:81 +#: commands/indexcmds.c:2047 commands/tablecmds.c:18068 commands/view.c:81 #: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653 #: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189 #: utils/adt/like_support.c:1024 utils/adt/varchar.c:738 @@ -1403,7 +1403,7 @@ msgstr "kunde inte skriva till fil \"%s\", skrev %d av %d: %m." #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 #: postmaster/launch_backend.c:340 postmaster/postmaster.c:4112 -#: postmaster/walsummarizer.c:1210 replication/logical/origin.c:603 +#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 #: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format @@ -1424,8 +1424,8 @@ msgstr "kunde inte trunkera fil \"%s\" till %u: %m" #: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788 #: replication/slot.c:2094 storage/file/buffile.c:545 #: storage/file/copydir.c:197 utils/init/miscinit.c:1601 -#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441 -#: utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450 +#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652 #: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" @@ -1668,7 +1668,7 @@ msgstr "kan inte använda index \"%s\" som håller på att indexeras om" #: access/index/indexam.c:203 catalog/objectaddress.c:1356 #: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305 -#: commands/tablecmds.c:17778 commands/tablecmds.c:19605 +#: commands/tablecmds.c:17763 commands/tablecmds.c:19574 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" är inte ett index" @@ -1694,7 +1694,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Det kan bero på ett icke-immutable indexuttryck." #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 -#: parser/parse_utilcmd.c:2298 +#: parser/parse_utilcmd.c:2295 #, c-format msgid "index \"%s\" is not a btree" msgstr "index \"%s\" är inte ett btree" @@ -1740,7 +1740,7 @@ msgid "operator family \"%s\" of access method %s is missing support function fo msgstr "operatorfamilj \"%s\" för accessmetod %s saknar supportfunktioner för typerna %s och %s" #: access/sequence/sequence.c:75 access/table/table.c:145 -#: optimizer/util/plancat.c:143 +#: optimizer/util/plancat.c:144 #, c-format msgid "cannot open relation \"%s\"" msgstr "kan inte öppna relationen \"%s\"" @@ -1828,7 +1828,7 @@ msgid "" "Execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "" -"Utför en hela databasen-VACUUM i den databasen.\n" +"Utför en databas-VACUUM i hela den databasen.\n" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktioner eller slänga gamla replikeringsslottar." #: access/transam/multixact.c:1098 @@ -1865,7 +1865,7 @@ msgstr[1] "Detta kommando skapar en multixact med %u medlemmar, men återståend #: access/transam/multixact.c:1195 #, c-format msgid "Execute a database-wide VACUUM in database with OID %u with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings." -msgstr "Kör en hela-databas-VACUUM i databas med OID %u med reducerade inställningar för \"vacuum_multixact_freeze_min_age\" och \"vacuum_multixact_freeze_table_age\"." +msgstr "Kör en databas-VACUUM i hela databasen med OID %u med reducerade inställningar för \"vacuum_multixact_freeze_min_age\" och \"vacuum_multixact_freeze_table_age\"." #: access/transam/multixact.c:1226 #, c-format @@ -1877,7 +1877,7 @@ msgstr[1] "databas med OID %u måste städas innan %d fler multixact-medlemmar a #: access/transam/multixact.c:1231 #, c-format msgid "Execute a database-wide VACUUM in that database with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings." -msgstr "Kör en hela-databas-VACUUM i den databasen med reducerade inställningar för \"vacuum_multixact_freeze_min_age\" och \"vacuum_multixact_freeze_table_age\"." +msgstr "Kör en databas-VACUUM i hela den databasen med reducerade inställningar för \"vacuum_multixact_freeze_min_age\" och \"vacuum_multixact_freeze_table_age\"." #: access/transam/multixact.c:1371 #, c-format @@ -1890,12 +1890,12 @@ msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u har inte skapats än -- troligen en wraparound" #: access/transam/multixact.c:2479 access/transam/multixact.c:2488 -#, fuzzy, c-format +#, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "" -"För att undvika att databasen stängs ner, utför en hela databas-VACCUM i den databasen.\n" +"För att undvika fel vid tilldelning av MultiXactId så utför en databas-VACCUM för hela den databasen.\n" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktioner eller slänga gamla replikeringsslottar." #: access/transam/multixact.c:2767 @@ -2214,7 +2214,7 @@ msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "beräknad CRC-checksumma matchar inte värdet som är lagrat i filen \"%s\"" #: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 -#: postmaster/walsummarizer.c:934 replication/logical/logical.c:211 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 #: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." @@ -2299,27 +2299,26 @@ msgstr "kunde inte komma åt filen \"%s\": %m" #: access/transam/varsup.c:156 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"" -msgstr "databasen tar inte emot kommandon som tilldelar nya XID för att förhinda dataförlust vid \"wraparound\" i databasen \"%s\"" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"" +msgstr "databasen tar inte emot kommandon som tilldelar nya transaktions-ID för att förhinda dataförlust vid \"wraparound\" i databasen \"%s\"" #: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u" -msgstr "databasen tar inte emot kommandon som tilldelar nya XID för att förhinda dataförlust vid \"wraparound\" i databasen med OID %u" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u" +msgstr "databasen tar inte emot kommandon som tilldelar nya transaktions-ID för att förhinda dataförlust vid \"wraparound\" i databasen med OID %u" #: access/transam/varsup.c:175 access/transam/varsup.c:490 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "databas \"%s\" måste städas (vacuum) inom %u transaktioner" -#: access/transam/varsup.c:178 access/transam/varsup.c:185 -#: access/transam/varsup.c:493 access/transam/varsup.c:500 -#, fuzzy, c-format +#: access/transam/varsup.c:178 +#, c-format msgid "" -"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" +"To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "" -"För att undvika att databasen stängs ner, utför en hela databas-VACCUM i den databasen.\n" +"För att undvika fel vid tilldelning av transaktions-ID så utför en databas-VACCUM för hela den databasen.\n" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktioner eller slänga gamla replikeringsslottar." #: access/transam/varsup.c:182 access/transam/varsup.c:497 @@ -2327,10 +2326,20 @@ msgstr "" msgid "database with OID %u must be vacuumed within %u transactions" msgstr "databas med OID %u måste städas (vacuum) inom %u transaktioner" +#: access/transam/varsup.c:185 access/transam/varsup.c:493 +#: access/transam/varsup.c:500 +#, c-format +msgid "" +"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" +"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +msgstr "" +"För att undvika fel vid tilldelning av XID så utför en databas-VACCUM för hela den databasen.\n" +"Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktioner eller slänga gamla replikeringsslottar." + #: access/transam/xact.c:649 #, c-format -msgid "cannot assign XIDs during a parallel operation" -msgstr "can inte tilldela XID under en parallell operation" +msgid "cannot assign transaction IDs during a parallel operation" +msgstr "can inte tilldela transaktions-ID under en parallell operation" #: access/transam/xact.c:840 #, c-format @@ -2372,7 +2381,7 @@ msgstr "%s kan inte köras i ett transaktionsblock" #: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a subtransaction" -msgstr "%s kan inte köras i ett undertransaktionsblock" +msgstr "%s kan inte köras i en undertransaktion" #. translator: %s represents an SQL statement name #: access/transam/xact.c:3613 @@ -2445,7 +2454,7 @@ msgstr "kan inte rulla tillbaka till sparpunkt under en parallell operation" #: access/transam/xact.c:5376 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" -msgstr "kan inte ha mer än 2^32-1 subtransaktioner i en transaktion" +msgstr "kan inte ha mer än 2^32-1 undertransaktioner i en transaktion" #: access/transam/xlog.c:1541 #, c-format @@ -2453,14 +2462,14 @@ msgid "request to flush past end of generated WAL; request %X/%X, current positi msgstr "förfrågan att flush:a efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X" #: access/transam/xlog.c:1768 -#, fuzzy, c-format +#, c-format msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X" -msgstr "förfrågan att flush:a efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X" +msgstr "kan inte läsa efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X" #: access/transam/xlog.c:2209 access/transam/xlog.c:4500 -#, fuzzy, c-format +#, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." -msgstr "argumentet till %s måste vara en tvåpotens mellan 1 och 1024" +msgstr "WAL-segmentstorleken måste vara en tvåpotens mellan 1 MB och 1 GB." #: access/transam/xlog.c:2227 #, c-format @@ -2468,9 +2477,9 @@ msgid "\"%s\" must be set to -1 during binary upgrade mode." msgstr "\"%s\" måsta vara satt till -1 i binärt uppgraderingsläge" #: access/transam/xlog.c:2476 -#, fuzzy, c-format +#, c-format msgid "could not write to log file \"%s\" at offset %u, length %zu: %m" -msgstr "kunde inte skriva till loggfil %s vid offset %u, längd %zu: %m" +msgstr "kunde inte skriva till loggfil \"%s\" vid offset %u, längd %zu: %m" #: access/transam/xlog.c:3738 access/transam/xlogutils.c:831 #: replication/walsender.c:3045 @@ -2495,7 +2504,7 @@ msgid "creating missing WAL directory \"%s\"" msgstr "skapar saknad WAL-katalog \"%s\"" #: access/transam/xlog.c:4124 access/transam/xlog.c:4144 -#: commands/dbcommands.c:3242 +#: commands/dbcommands.c:3259 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "kunde inte skapa saknad katalog \"%s\": %m" @@ -2631,13 +2640,13 @@ msgstr "\"max_wal_size\" måste vara minst dubbla \"wal_segment_size\"" #: access/transam/xlog.c:4661 catalog/namespace.c:4681 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2429 utils/error/elog.c:2230 +#: replication/slot.c:2429 tcop/postgres.c:3691 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "List-syntaxen är ogiltig." #: access/transam/xlog.c:4707 commands/user.c:2545 commands/variable.c:173 -#: utils/error/elog.c:2256 +#: tcop/postgres.c:3707 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Okänt nyckelord: \"%s\"" @@ -3012,7 +3021,7 @@ msgstr "Återställningskontrollfunktioner kan bara köras under återställning #: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558 #, c-format msgid "standby promotion is ongoing" -msgstr "standby-befordring pågår" +msgstr "standby-befordran pågår" #: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 #, c-format @@ -3037,7 +3046,7 @@ msgstr "avslutar anslutning på grund av att postmaster stängde oväntat ner" #: access/transam/xlogfuncs.c:740 #, c-format msgid "while waiting on promotion" -msgstr "" +msgstr "vid väntan på befordran" #: access/transam/xlogfuncs.c:744 #, c-format @@ -3212,9 +3221,9 @@ msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on ti msgstr "startar backupåterställning med redo LSN %X/%X, checkpoint LSN %X/%X, på tidslinje ID %u" #: access/transam/xlogrecovery.c:649 -#, fuzzy, c-format +#, c-format msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X" -msgstr "kunde inte hitta redo-position refererad av checkpoint-post" +msgstr "kunde inte hitta redo-position %X/%X refererad av checkpoint-post vid %X/%X" #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 #, c-format @@ -3259,9 +3268,9 @@ msgid "restarting backup recovery with redo LSN %X/%X" msgstr "startar om backupåterställning med redo LSN %X/%X" #: access/transam/xlogrecovery.c:795 -#, fuzzy, c-format +#, c-format msgid "could not locate a valid checkpoint record at %X/%X" -msgstr "kunde inte hitta en giltig checkpoint-post" +msgstr "kunde inte hitta en giltig checkpoint-post vid %X/%X" #: access/transam/xlogrecovery.c:806 #, c-format @@ -3401,9 +3410,9 @@ msgid "Use pg_combinebackup to reconstruct a valid data directory." msgstr "Använd pg_combinebackup för att återskapa en giltig datakatalog." #: access/transam/xlogrecovery.c:1717 -#, fuzzy, c-format +#, c-format msgid "unexpected record type found at redo point %X/%X" -msgstr "Oväntat katalogpost \"%s\" hittades i %s" +msgstr "oväntad typ på post hittad vid redo-punkt %X/%X" #: access/transam/xlogrecovery.c:1740 #, c-format @@ -3614,7 +3623,7 @@ msgstr "nedstängning av WAL-mottagarprocess efterfrågad" #: access/transam/xlogrecovery.c:4440 #, c-format msgid "received promote request" -msgstr "tog emot förfrågan om befordring" +msgstr "tog emot förfrågan om befordran" #: access/transam/xlogrecovery.c:4669 #, c-format @@ -3786,9 +3795,9 @@ msgid "unrecognized checkpoint type: \"%s\"" msgstr "okänd checkpoint-typ: \"%s\"" #: backup/basebackup.c:793 -#, fuzzy, c-format +#, c-format msgid "incremental backups cannot be taken unless WAL summarization is enabled" -msgstr "komprimeringsinställning kan inte anges om komprimering inte är påslagen" +msgstr "inkrementella backup:er kan inte tas om inte WAL-summering är påslagen" #: backup/basebackup.c:809 #, c-format @@ -3838,7 +3847,7 @@ msgstr "ogiltig inställning för komprimering: %s" #: backup/basebackup.c:1024 #, c-format msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" -msgstr "" +msgstr "måste UPLOAD_MANIFEST innan befordran av en inkrementell BASE_BACKUP" #: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format @@ -3900,7 +3909,7 @@ msgstr "kunde inte initierar komprimeringsbibliotek" #: backup/basebackup_incremental.c:294 #, c-format msgid "manifest contains no required WAL ranges" -msgstr "" +msgstr "manifestet innehåller inga WAL-intervall som krävs" #: backup/basebackup_incremental.c:349 #, c-format @@ -3908,44 +3917,44 @@ msgid "timeline %u found in manifest, but not in this server's history" msgstr "tidslinje %u hittades i manifest men inte i denna servers historik" #: backup/basebackup_incremental.c:414 -#, fuzzy, c-format +#, c-format msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" -msgstr "servern stoppade strömning av tidslinje %u vid %X/%X men rapporterade nästa tidslinje %u skulle börja vid %X/%X" +msgstr "manifestet kräver WAL från initiala tidslinjen %u vid start %X/%X men den tidslinjen börjar vid %X/%X" #: backup/basebackup_incremental.c:424 -#, fuzzy, c-format +#, c-format msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" -msgstr "servern stoppade strömning av tidslinje %u vid %X/%X men rapporterade nästa tidslinje %u skulle börja vid %X/%X" +msgstr "manifestet kräver WAL från tidslinje %u att fortsätta med som startar vid %X/%X men den tidslinjen börjar vid %X/%X" #: backup/basebackup_incremental.c:435 #, c-format msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" -msgstr "" +msgstr "manifestet kräver WAL från avslutande tidslinje %u som slutar vid %X/%X, men denna backup startar vid %X/%X" #: backup/basebackup_incremental.c:439 #, c-format msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." -msgstr "" +msgstr "Detta kan hända vid inkrementella backuper på en standby om det är lite aktivitet från föregående backup." #: backup/basebackup_incremental.c:446 -#, fuzzy, c-format +#, c-format msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" -msgstr "servern stoppade strömning av tidslinje %u vid %X/%X men rapporterade nästa tidslinje %u skulle börja vid %X/%X" +msgstr "manifestet kräver WAL från en icke avslutande tidslinje %u som slutar vid %X/%X men denns server bytte tidslinje vid %X/%X" #: backup/basebackup_incremental.c:527 #, c-format msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist" -msgstr "" +msgstr "WAL-summering krävs för tidslinje %u från %X/%X till %X/%X men inga summeringar för den tidslinjen och det LSN-intervallet finns" #: backup/basebackup_incremental.c:534 #, c-format msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete" -msgstr "" +msgstr "WAL-summering krävs för tidslinje %u från %X/%X till %X/%X men summeringar för den tidslinjen och det LSN-intervallet är inkompletta" #: backup/basebackup_incremental.c:538 #, c-format msgid "The first unsummarized LSN in this range is %X/%X." -msgstr "" +msgstr "Den första icke summerade LSN i detta intervall är %X/%X." #: backup/basebackup_incremental.c:938 #, c-format @@ -3954,7 +3963,7 @@ msgstr "backupmanifest version 1 stöder inte inkrementell backup" #: backup/basebackup_incremental.c:956 #, c-format -msgid "manifest system identifier is %llu, but database system identifier is %llu" +msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" msgstr "manifestets systemidentifierare är %llu men databasens systemidentifierare är %llu" #: backup/basebackup_lz4.c:67 @@ -4039,12 +4048,12 @@ msgstr "kunde inte aktivera långdistansläge: %s" msgid "invalid timeline %lld" msgstr "ogiltig tidslinje %lld" -#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3858 +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3922 #, c-format msgid "--%s requires a value" msgstr "--%s kräver ett värde" -#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3863 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3927 #, c-format msgid "-c %s requires a value" msgstr "-c %s kräver ett värde" @@ -4212,21 +4221,21 @@ msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "kan inte använda IN SCHEMA-klausul samtidigt som GRANT/REVOKE ON SCHEMAS" #: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523 -#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913 -#: commands/sequence.c:1652 commands/tablecmds.c:7561 commands/tablecmds.c:7715 -#: commands/tablecmds.c:7765 commands/tablecmds.c:7839 -#: commands/tablecmds.c:7909 commands/tablecmds.c:8039 -#: commands/tablecmds.c:8168 commands/tablecmds.c:8262 -#: commands/tablecmds.c:8363 commands/tablecmds.c:8490 -#: commands/tablecmds.c:8520 commands/tablecmds.c:8662 -#: commands/tablecmds.c:8755 commands/tablecmds.c:8889 -#: commands/tablecmds.c:9001 commands/tablecmds.c:12721 -#: commands/tablecmds.c:12902 commands/tablecmds.c:13063 -#: commands/tablecmds.c:14252 commands/tablecmds.c:16878 commands/trigger.c:942 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:947 +#: commands/sequence.c:1652 commands/tablecmds.c:7518 commands/tablecmds.c:7672 +#: commands/tablecmds.c:7722 commands/tablecmds.c:7796 +#: commands/tablecmds.c:7866 commands/tablecmds.c:7996 +#: commands/tablecmds.c:8125 commands/tablecmds.c:8219 +#: commands/tablecmds.c:8320 commands/tablecmds.c:8447 +#: commands/tablecmds.c:8477 commands/tablecmds.c:8619 +#: commands/tablecmds.c:8712 commands/tablecmds.c:8846 +#: commands/tablecmds.c:8958 commands/tablecmds.c:12695 +#: commands/tablecmds.c:12887 commands/tablecmds.c:13048 +#: commands/tablecmds.c:14237 commands/tablecmds.c:16863 commands/trigger.c:942 #: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3538 -#: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923 -#: utils/adt/ruleutils.c:2811 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3381 +#: parser/parse_utilcmd.c:3421 parser/parse_utilcmd.c:3463 utils/adt/acl.c:2923 +#: utils/adt/ruleutils.c:2807 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "kolumn \"%s\" i relation \"%s\" existerar inte" @@ -4236,13 +4245,13 @@ msgstr "kolumn \"%s\" i relation \"%s\" existerar inte" msgid "\"%s\" is an index" msgstr "\"%s\" är ett index" -#: catalog/aclchk.c:1868 commands/tablecmds.c:14409 commands/tablecmds.c:17787 +#: catalog/aclchk.c:1868 commands/tablecmds.c:14394 commands/tablecmds.c:17772 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" är en composite-typ" #: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 -#: commands/tablecmds.c:17751 utils/adt/acl.c:2107 utils/adt/acl.c:2137 +#: commands/tablecmds.c:17736 utils/adt/acl.c:2107 utils/adt/acl.c:2137 #: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237 #: utils/adt/acl.c:2268 #, c-format @@ -4707,7 +4716,7 @@ msgstr "måste vara en superuser för att anropa %s()" msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() kan bara användas på systemkataloger" -#: catalog/catalog.c:642 parser/parse_utilcmd.c:2245 +#: catalog/catalog.c:642 parser/parse_utilcmd.c:2242 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "index \"%s\" tillhör inte tabell \"%s\"" @@ -4768,15 +4777,15 @@ msgid "cannot drop %s because other objects depend on it" msgstr "kan inte ta bort %s eftersom andra objekt beror på den" #: catalog/dependency.c:1153 catalog/dependency.c:1160 -#: catalog/dependency.c:1171 commands/tablecmds.c:1447 -#: commands/tablecmds.c:15001 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4639 -#: executor/execExprInterp.c:4645 libpq/auth.c:324 +#: catalog/dependency.c:1171 commands/tablecmds.c:1442 +#: commands/tablecmds.c:14986 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4641 +#: executor/execExprInterp.c:4649 libpq/auth.c:324 #: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 -#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781 -#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892 -#: utils/misc/guc.c:6934 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790 +#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901 +#: utils/misc/guc.c:6943 #, c-format msgid "%s" msgstr "%s" @@ -4819,13 +4828,13 @@ msgstr "rättighet saknas för att skapa \"%s.%s\"" msgid "System catalog modifications are currently disallowed." msgstr "Systemkatalogändringar är för tillfället inte tillåtna." -#: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905 -#: commands/tablecmds.c:7183 +#: catalog/heap.c:467 commands/tablecmds.c:2478 commands/tablecmds.c:2900 +#: commands/tablecmds.c:7140 #, c-format msgid "tables can have at most %d columns" msgstr "tabeller kan ha som mest %d kolumner" -#: catalog/heap.c:485 commands/tablecmds.c:7452 +#: catalog/heap.c:485 commands/tablecmds.c:7409 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "kolumnnamn \"%s\" står i konflikt med ett systemkolumnnamn" @@ -4863,8 +4872,7 @@ msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "ingen jämförelse kunde härledas för kolumn \"%s\" med jämförelsetyp %s" #: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 -#: commands/tablecmds.c:4154 commands/tablecmds.c:20484 -#: commands/tablecmds.c:20746 +#: commands/tablecmds.c:4149 #, c-format msgid "relation \"%s\" already exists" msgstr "relationen \"%s\" finns redan" @@ -4908,7 +4916,7 @@ msgid "check constraint \"%s\" already exists" msgstr "check-villkor \"%s\" finns redan" #: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724 -#: commands/tablecmds.c:9376 +#: commands/tablecmds.c:9333 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "integritetsvillkor \"%s\" för relation \"%s\" finns redan" @@ -4933,9 +4941,9 @@ msgstr "villkor \"%s\" står i konflikt med NOT VALID-villkor på relation \"%s\ msgid "merging constraint \"%s\" with inherited definition" msgstr "slår samman villkor \"%s\" med ärvd definition" -#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3062 -#: commands/tablecmds.c:3365 commands/tablecmds.c:7109 -#: commands/tablecmds.c:15819 commands/tablecmds.c:15950 +#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3057 +#: commands/tablecmds.c:3360 commands/tablecmds.c:7066 +#: commands/tablecmds.c:15804 commands/tablecmds.c:15935 #, c-format msgid "too many inheritance parents" msgstr "för många föräldrar i arv" @@ -4965,14 +4973,14 @@ msgstr "Detta skulle leda till att den genererade kolumnen beror på sitt eget v msgid "generation expression is not immutable" msgstr "genereringsuttryck är inte immutable" -#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1281 +#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1282 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "kolumn \"%s\" har typ %s men default-uttryck har typen %s" #: catalog/heap.c:2812 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1286 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Du måste skriva om eller typomvandla uttrycket." @@ -5007,7 +5015,7 @@ msgstr "Tabell \"%s\" refererar till \"%s\"." msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Trunkera tabellen \"%s\" samtidigt, eller använd TRUNCATE ... CASCADE." -#: catalog/index.c:219 parser/parse_utilcmd.c:2151 +#: catalog/index.c:219 parser/parse_utilcmd.c:2148 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "multipla primärnycklar för tabell \"%s\" tillåts inte" @@ -5053,7 +5061,7 @@ msgid "shared indexes cannot be created after initdb" msgstr "delade index kan inte skapas efter initdb" #: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 -#: parser/parse_utilcmd.c:212 +#: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "relationen \"%s\" finns redan, hoppar över" @@ -5084,7 +5092,7 @@ msgid "cannot reindex invalid index on TOAST table" msgstr "kan inte omindexera angivet index i TOAST-tabell" #: catalog/index.c:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676 -#: commands/tablecmds.c:3569 +#: commands/tablecmds.c:3564 #, c-format msgid "cannot move system relation \"%s\"" msgstr "kan inte flytta systemrelation \"%s\"" @@ -5183,7 +5191,7 @@ msgstr "textsökkonfiguration \"%s\" finns inte" msgid "cross-database references are not implemented: %s" msgstr "referenser till andra databaser är inte implementerat: %s" -#: catalog/namespace.c:3320 gram.y:19230 gram.y:19270 parser/parse_expr.c:875 +#: catalog/namespace.c:3320 gram.y:19174 gram.y:19214 parser/parse_expr.c:875 #: parser/parse_target.c:1266 #, c-format msgid "improper qualified name (too many dotted names): %s" @@ -5200,7 +5208,7 @@ msgid "cannot move objects into or out of TOAST schema" msgstr "kan inte flytta objekt in eller ut från TOAST-schema" #: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1392 utils/adt/regproc.c:1688 +#: commands/tablecmds.c:1387 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "schema \"%s\" existerar inte" @@ -5236,26 +5244,26 @@ msgid "cannot create temporary tables during a parallel operation" msgstr "kan inte skapa temporära tabeller under en parallell operation" #: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 -#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315 -#: commands/tablecmds.c:12838 parser/parse_utilcmd.c:3249 +#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2310 +#: commands/tablecmds.c:12823 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" är inte en tabell" #: catalog/objectaddress.c:1378 commands/tablecmds.c:269 -#: commands/tablecmds.c:17756 commands/view.c:114 +#: commands/tablecmds.c:17741 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" är inte en vy" #: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 -#: commands/tablecmds.c:17761 +#: commands/tablecmds.c:17746 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" är inte en materialiserad vy" #: catalog/objectaddress.c:1392 commands/tablecmds.c:293 -#: commands/tablecmds.c:17766 +#: commands/tablecmds.c:17751 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" är inte en främmande tabell" @@ -5299,7 +5307,7 @@ msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "användarmappning för användare \"%s\" på server \"%s\" finns inte" #: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:703 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "server \"%s\" finns inte" @@ -6031,8 +6039,8 @@ msgstr "kan inte koppla loss partition \"%s\"" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "Partitionen kopplas loss parallellt eller har en bortkoppling som inte är slutförd." -#: catalog/pg_inherits.c:595 commands/tablecmds.c:4790 -#: commands/tablecmds.c:16065 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4777 +#: commands/tablecmds.c:16050 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Använd ALTER TABLE ... DETACH PARTITION ... FINALIZE för att slutföra den pågående bortkopplingsoperationen." @@ -6113,24 +6121,24 @@ msgid "only boolean operators can hash" msgstr "bara booleska operatorer kan hasha" #: catalog/pg_operator.c:739 -#, fuzzy, c-format +#, c-format msgid "commutator operator %s is already the commutator of operator %s" -msgstr "operatorn \"%s\" är inte en medlem i operatorfamiljen \"%s\"" +msgstr "kommutativ operator %s är redan kommuterare för operatorn %s" #: catalog/pg_operator.c:744 #, c-format msgid "commutator operator %s is already the commutator of operator %u" -msgstr "" +msgstr "kommutativ operator %s är redan kommuterare för operatorn %u" #: catalog/pg_operator.c:807 -#, fuzzy, c-format +#, c-format msgid "negator operator %s is already the negator of operator %s" -msgstr "operatorn \"%s\" är inte en medlem i operatorfamiljen \"%s\"" +msgstr "negationsoperator %s är redan negator för operatorn %s" #: catalog/pg_operator.c:812 -#, fuzzy, c-format +#, c-format msgid "negator operator %s is already the negator of operator %u" -msgstr "operatorn \"%s\" är inte en medlem i operatorfamiljen \"%s\"" +msgstr "negationsoperator %s är redan negator för operatorn %u" #: catalog/pg_parameter_acl.c:50 #, c-format @@ -6734,7 +6742,7 @@ msgstr "kan inte klustra temporära tabeller för andra sessioner" msgid "there is no previously clustered index for table \"%s\"" msgstr "det finns inget tidigare klustrat index för tabell \"%s\"" -#: commands/cluster.c:191 commands/tablecmds.c:14710 commands/tablecmds.c:16641 +#: commands/cluster.c:191 commands/tablecmds.c:14695 commands/tablecmds.c:16626 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "index \"%s\" för tabell \"%s\" finns inte" @@ -6749,7 +6757,7 @@ msgstr "kan inte klustra en delad katalog" msgid "cannot vacuum temporary tables of other sessions" msgstr "kan inte städa temporära tabeller för andra sessioner" -#: commands/cluster.c:513 commands/tablecmds.c:16651 +#: commands/cluster.c:513 commands/tablecmds.c:16636 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" är inte ett index för tabell \"%s\"" @@ -6814,7 +6822,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "jämförelsesattribut \"%s\" känns inte igen" #: commands/collationcmds.c:123 commands/collationcmds.c:129 -#: commands/define.c:388 commands/tablecmds.c:8149 +#: commands/define.c:388 commands/tablecmds.c:8106 #: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 #: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 #: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 @@ -6889,25 +6897,25 @@ msgstr "kan inte refresha versionen på standardjämförelse" #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command #: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 -#: commands/tablecmds.c:7925 commands/tablecmds.c:7935 -#: commands/tablecmds.c:7937 commands/tablecmds.c:14412 -#: commands/tablecmds.c:17789 commands/tablecmds.c:17810 +#: commands/tablecmds.c:7882 commands/tablecmds.c:7892 +#: commands/tablecmds.c:7894 commands/tablecmds.c:14397 +#: commands/tablecmds.c:17774 commands/tablecmds.c:17795 #: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 #, c-format msgid "Use %s instead." msgstr "Använd %s istället." -#: commands/collationcmds.c:480 commands/dbcommands.c:2550 +#: commands/collationcmds.c:480 commands/dbcommands.c:2567 #, c-format msgid "changing version from %s to %s" msgstr "byter version från %s till %s" -#: commands/collationcmds.c:495 commands/dbcommands.c:2563 +#: commands/collationcmds.c:495 commands/dbcommands.c:2580 #, c-format msgid "version has not changed" msgstr "versionen har inte ändrats" -#: commands/collationcmds.c:528 commands/dbcommands.c:2729 +#: commands/collationcmds.c:528 commands/dbcommands.c:2746 #, c-format msgid "database with OID %u does not exist" msgstr "databas med OID %u finns inte" @@ -6927,10 +6935,10 @@ msgstr "måste vara en superuser för att importera systemjämförelser" msgid "no usable system locales were found" msgstr "inga användbara systemlokaler hittades" -#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875 -#: commands/dbcommands.c:1985 commands/dbcommands.c:2183 -#: commands/dbcommands.c:2421 commands/dbcommands.c:2512 -#: commands/dbcommands.c:2633 commands/dbcommands.c:3141 +#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1892 +#: commands/dbcommands.c:2002 commands/dbcommands.c:2200 +#: commands/dbcommands.c:2438 commands/dbcommands.c:2529 +#: commands/dbcommands.c:2650 commands/dbcommands.c:3158 #: utils/init/postinit.c:1033 utils/init/postinit.c:1097 #: utils/init/postinit.c:1170 #, c-format @@ -7037,195 +7045,130 @@ msgstr "kan inte ange \"%s\" med HEADER i COPY TO" msgid "%s requires a Boolean value or \"match\"" msgstr "%s kräver ett booleskt värde eller \"match\"" -#: commands/copy.c:400 +#. translator: first %s is the name of a COPY option, e.g. ON_ERROR, +#. second %s is a COPY with direction, e.g. COPY TO +#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:796 +#: commands/copy.c:811 commands/copy.c:837 commands/copy.c:847 #, c-format -msgid "COPY ON_ERROR cannot be used with COPY TO" -msgstr "COPY ON_ERROR kan inte användas med COPY TO" +msgid "COPY %s cannot be used with %s" +msgstr "COPY %s kan inte användas med %s" -#: commands/copy.c:413 +#. translator: first %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:416 commands/copy.c:441 #, c-format -msgid "COPY ON_ERROR \"%s\" not recognized" -msgstr "COPY ON_ERROR \"%s\" känns inte igen" +msgid "COPY %s \"%s\" not recognized" +msgstr "COPY %s \"%s\" känns inte igen" -#: commands/copy.c:437 -#, c-format -msgid "COPY LOG_VERBOSITY \"%s\" not recognized" -msgstr "COPY LOG_VERBOSITY \"%s\" känns inte igen" - -#: commands/copy.c:498 +#: commands/copy.c:502 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "COPY-format \"%s\" känns inte igen" -#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586 -#: commands/copy.c:605 +#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 +#: commands/copy.c:609 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "argumentet till flaggan \"%s\" måste vara en lista med kolumnnamn" -#: commands/copy.c:617 +#: commands/copy.c:621 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "argumentet till flaggan \"%s\" måste vara ett giltigt kodningsnamn" -#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369 +#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2386 #, c-format msgid "option \"%s\" not recognized" msgstr "flaggan \"%s\" känns inte igen" -#: commands/copy.c:650 -#, c-format -msgid "cannot specify DELIMITER in BINARY mode" -msgstr "kan inte ange DELIMITER i läget BINARY" - -#: commands/copy.c:655 -#, c-format -msgid "cannot specify NULL in BINARY mode" -msgstr "kan inte ange NULL i läget BINARY" - -#: commands/copy.c:660 +#. translator: %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665 +#: commands/copy.c:740 #, c-format -msgid "cannot specify DEFAULT in BINARY mode" -msgstr "kan inte ange DEFAULT i läget BINARY" +msgid "cannot specify %s in BINARY mode" +msgstr "kan inte ange %s i läget BINARY" -#: commands/copy.c:665 +#: commands/copy.c:670 #, c-format msgid "only ON_ERROR STOP is allowed in BINARY mode" -msgstr "" +msgstr "bara ON_ERROR STOP tillåts i läget BINARY" -#: commands/copy.c:687 +#: commands/copy.c:692 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "COPY-separatorn måste vara ett ensamt en-byte-tecken" -#: commands/copy.c:694 +#: commands/copy.c:699 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPY-separatorn kan inte vara nyradstecken eller vagnretur" -#: commands/copy.c:700 +#: commands/copy.c:705 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "null-representationen för COPY kan inte använda tecknen för nyrad eller vagnretur" -#: commands/copy.c:710 +#: commands/copy.c:715 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "standard-representationen för COPY kan inte använda tecknen för nyrad eller vagnretur" -#: commands/copy.c:728 +#: commands/copy.c:733 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "COPY-separatorn kan inte vara \"%s\"" -#: commands/copy.c:734 +#. translator: %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776 +#: commands/copy.c:790 commands/copy.c:804 #, c-format -msgid "cannot specify HEADER in BINARY mode" -msgstr "kan inte ange HEADER i läget BINARY" +msgid "COPY %s requires CSV mode" +msgstr "COPY %s kräver CSV-läge" -#: commands/copy.c:740 -#, c-format -msgid "COPY QUOTE requires CSV mode" -msgstr "COPY QUOTE kräver CSV-läge" - -#: commands/copy.c:745 +#: commands/copy.c:752 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "COPY-quote måste vara ett ensamt en-byte-tecken" -#: commands/copy.c:750 +#: commands/copy.c:757 #, c-format msgid "COPY delimiter and quote must be different" msgstr "COPY-separator och quote måste vara olika" -#: commands/copy.c:756 -#, c-format -msgid "COPY ESCAPE requires CSV mode" -msgstr "COPY ESCAPE kräver CSV-läge" - -#: commands/copy.c:761 +#: commands/copy.c:769 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "COPY-escape måste vara ett ensamt en-byte-tecken" -#: commands/copy.c:767 -#, c-format -msgid "COPY FORCE_QUOTE requires CSV mode" -msgstr "COPY FORCE QUOTE kräver CSV-läge" - -#: commands/copy.c:771 -#, c-format -msgid "COPY FORCE_QUOTE cannot be used with COPY FROM" -msgstr "COPY FORCE_QUOTE kan inte användas med COPY FROM" - -#: commands/copy.c:777 -#, c-format -msgid "COPY FORCE_NOT_NULL requires CSV mode" -msgstr "COPY FORCE_NOT_NULL kräver CSV-läge" - -#: commands/copy.c:781 -#, c-format -msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NOT_NULL kan inte användas med COPY TO" - -#: commands/copy.c:787 -#, c-format -msgid "COPY FORCE_NULL requires CSV mode" -msgstr "COPY FORCE_NULL kräver CSV-läge" - -#: commands/copy.c:792 -#, c-format -msgid "COPY FORCE_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NULL kan inte användas med COPY TO" - -#: commands/copy.c:798 -#, c-format -msgid "COPY delimiter character must not appear in the NULL specification" -msgstr "Tecknet för COPY-separatorn får inte förekomma i NULL-specifikationen" - -#: commands/copy.c:805 -#, c-format -msgid "CSV quote character must not appear in the NULL specification" -msgstr "CSV-citattecken kan inte vara i NULL-specifikationen" - -#: commands/copy.c:811 -#, c-format -msgid "COPY FREEZE cannot be used with COPY TO" -msgstr "COPY FREEZE kan inte användas med COPY TO" - -#: commands/copy.c:818 -#, c-format -msgid "COPY DEFAULT only available using COPY FROM" -msgstr "COPY DEFAULT kan bara används med COPY FROM" - -#: commands/copy.c:824 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:819 commands/copy.c:855 #, c-format -msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "COPY-separatorn kan inte vara i DEFAULT-specifikationen" +msgid "COPY delimiter character must not appear in the %s specification" +msgstr "Tecknet för COPY-separatorn får inte förekomma i %s-specifikationen" -#: commands/copy.c:831 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:828 commands/copy.c:864 #, c-format -msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "CSV-citattecken kan inte vara i DEFAULT-specifikationen" +msgid "CSV quote character must not appear in the %s specification" +msgstr "CSV-citattecken får inte förekomma i %s-specifikationen" -#: commands/copy.c:839 +#: commands/copy.c:873 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "NULL-specifikation and DEFAULT-specifikation får inte vara samma" -#: commands/copy.c:901 +#: commands/copy.c:935 #, c-format msgid "column \"%s\" is a generated column" msgstr "kolumnen \"%s\" är en genererad kolumn" -#: commands/copy.c:903 +#: commands/copy.c:937 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Genererade kolumner kan inte användas i COPY." -#: commands/copy.c:918 commands/indexcmds.c:1916 commands/statscmds.c:239 -#: commands/tablecmds.c:2514 commands/tablecmds.c:2985 -#: commands/tablecmds.c:3793 parser/parse_relation.c:3692 +#: commands/copy.c:952 commands/indexcmds.c:1916 commands/statscmds.c:239 +#: commands/tablecmds.c:2509 commands/tablecmds.c:2980 +#: commands/tablecmds.c:3788 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 #: parser/parse_relation.c:3727 parser/parse_relation.c:3741 #: utils/adt/tsvector_op.c:2853 @@ -7233,7 +7176,7 @@ msgstr "Genererade kolumner kan inte användas i COPY." msgid "column \"%s\" does not exist" msgstr "kolumnen \"%s\" existerar inte" -#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951 +#: commands/copy.c:959 commands/tablecmds.c:2535 commands/trigger.c:951 #: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" @@ -7307,46 +7250,43 @@ msgstr "kan inte utföra COPY FREEZE på grund av tidigare transaktionsaktivitet #: commands/copyfrom.c:750 #, c-format msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" -msgstr "kan inte utföra COPY FREEZE då tabellen inte skapades eller trunkerades i den nuvarande subtransaktionen" +msgstr "kan inte utföra COPY FREEZE då tabellen inte skapades eller trunkerades i den nuvarande undertransaktionen" #: commands/copyfrom.c:1313 #, c-format msgid "%llu row was skipped due to data type incompatibility" msgid_plural "%llu rows were skipped due to data type incompatibility" -msgstr[0] "" -msgstr[1] "" - -#: commands/copyfrom.c:1447 -#, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "FORCE_NOT_NULL-kolumnen \"%s\" refereras inte till av COPY" +msgstr[0] "%llu rad hoppades över på grund av inkompatibla datatyper" +msgstr[1] "%llu rader hoppades över på grund av inkompatibla datatyper" -#: commands/copyfrom.c:1489 +#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:597 #, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "FORCE_NULL-kolumnen \"%s\" refereras inte till av COPY" +msgid "%s column \"%s\" not referenced by COPY" +msgstr "%s-kolumnen \"%s\" refereras inte till av COPY" -#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "standardkonverteringsfunktion för kodning \"%s\" till \"%s\" finns inte" -#: commands/copyfrom.c:1740 +#: commands/copyfrom.c:1742 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY FROM säger åt PostgreSQLs serverprocess att läsa en fil. Du kanske söker efter en klient-finess så som psql:s \\copy." -#: commands/copyfrom.c:1753 commands/copyto.c:701 +#: commands/copyfrom.c:1755 commands/copyto.c:702 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" är en katalog" -#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "kunde inte stänga rör till externt komamndo: %m" -#: commands/copyfrom.c:1836 commands/copyto.c:304 +#: commands/copyfrom.c:1838 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "program \"%s\" misslyckades" @@ -7387,7 +7327,7 @@ msgid "could not read from COPY file: %m" msgstr "kunde inte läsa från COPY-fil: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377 +#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "oväntat EOF från klientanslutning med öppen transaktion" @@ -7430,13 +7370,13 @@ msgstr "saknar data för kolumn \"%s\"" #: commands/copyfromparse.c:990 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\"" -msgstr "" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"" +msgstr "hoppar över rad på grund av inkompatibla datatyper på rad %llu kolumn \"%s\": \"%s\"" #: commands/copyfromparse.c:998 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: null input" -msgstr "" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": null input" +msgstr "hoppar över rad på grund av inkompatibla datatyper på rad %llu kolumn \"%s\": null indata" #: commands/copyfromparse.c:1044 #, c-format @@ -7609,22 +7549,17 @@ msgstr "COPY-fråga måste ha en RETURNING-klausul" msgid "relation referenced by COPY statement has changed" msgstr "relationen refererad till av COPY-sats har ändrats" -#: commands/copyto.c:596 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "FORCE_QUOTE-kolumnen \"%s\" refereras inte till av COPY" - -#: commands/copyto.c:666 +#: commands/copyto.c:667 #, c-format msgid "relative path not allowed for COPY to file" msgstr "relativa sökväg tillåts inte för COPY till fil" -#: commands/copyto.c:685 +#: commands/copyto.c:686 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "kunde inte öppna fil \"%s\" för skrivning: %m" -#: commands/copyto.c:688 +#: commands/copyto.c:689 #, c-format msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY TO säger åt PostgreSQLs serverprocess att skriva till en fil. Du kanske söker efter en klient-finess så som psql:s \\copy." @@ -7669,7 +7604,7 @@ msgstr "\"%s\" är inte ett giltigt kodningsnamn" msgid "unrecognized locale provider: %s" msgstr "okänd lokalleverantör: %s" -#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299 +#: commands/dbcommands.c:944 commands/dbcommands.c:2419 commands/user.c:299 #: commands/user.c:739 #, c-format msgid "invalid connection limit: %d" @@ -7690,7 +7625,7 @@ msgstr "malldatabasen \"%s\" existerar inte" msgid "cannot use invalid database \"%s\" as template" msgstr "kan inte använda ogiltig databas \"%s\" som mall" -#: commands/dbcommands.c:1000 commands/dbcommands.c:2431 +#: commands/dbcommands.c:1000 commands/dbcommands.c:2448 #: utils/init/postinit.c:1112 #, c-format msgid "Use DROP DATABASE to drop invalid databases." @@ -7836,7 +7771,7 @@ msgstr "Malldatabasen skapades med jämförelseversion (collation) %s men operat msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "Bygg om alla objekt i malldatabasen som använder default jämförelse (collation) och kör ALTER DATABASE %s REFRESH COLLATION VERSION eller bygg PostgreSQL med rätt bibliotekversion." -#: commands/dbcommands.c:1298 commands/dbcommands.c:2031 +#: commands/dbcommands.c:1298 commands/dbcommands.c:2048 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "pg_global kan inte användas som standard-tablespace" @@ -7851,7 +7786,7 @@ msgstr "kan inte sätta ny standard-tablespace \"%s\"" msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." msgstr "Det finns en konflikt eftersom databasen \"%s\" redan har några tabeller i detta tabellutrymme." -#: commands/dbcommands.c:1356 commands/dbcommands.c:1904 +#: commands/dbcommands.c:1356 commands/dbcommands.c:1921 #, c-format msgid "database \"%s\" already exists" msgstr "databas \"%s\" finns redan" @@ -7887,132 +7822,132 @@ msgstr "Den valda LC_CTYPE-inställningen kräver kodning \"%s\"." msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "Den valda LC_COLLATE-inställningen kräver kodning \"%s\"." -#: commands/dbcommands.c:1670 +#: commands/dbcommands.c:1672 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "databasen \"%s\" existerar inte, hoppar över" -#: commands/dbcommands.c:1694 +#: commands/dbcommands.c:1696 #, c-format msgid "cannot drop a template database" msgstr "kan inte ta bort en malldatabas" -#: commands/dbcommands.c:1700 +#: commands/dbcommands.c:1702 #, c-format msgid "cannot drop the currently open database" msgstr "kan inte ta bort den databas som används just nu" -#: commands/dbcommands.c:1713 +#: commands/dbcommands.c:1715 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "databasen \"%s\" används av en aktiv logisk replikeringsslot" -#: commands/dbcommands.c:1715 +#: commands/dbcommands.c:1717 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." msgstr[0] "Det är %d aktiv slot." msgstr[1] "Det är %d aktiva slottar." -#: commands/dbcommands.c:1729 +#: commands/dbcommands.c:1731 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "databasen \"%s\" används av logisk replikeringsprenumeration" -#: commands/dbcommands.c:1731 +#: commands/dbcommands.c:1733 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." msgstr[0] "Det finns %d prenumeration." msgstr[1] "Det finns %d prenumerationer." -#: commands/dbcommands.c:1752 commands/dbcommands.c:1926 -#: commands/dbcommands.c:2053 +#: commands/dbcommands.c:1754 commands/dbcommands.c:1943 +#: commands/dbcommands.c:2070 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "databasen \"%s\" används av andra användare" -#: commands/dbcommands.c:1886 +#: commands/dbcommands.c:1903 #, c-format msgid "permission denied to rename database" msgstr "rättighet saknas för att döpa om databas" -#: commands/dbcommands.c:1915 +#: commands/dbcommands.c:1932 #, c-format msgid "current database cannot be renamed" msgstr "den använda databasen får inte döpas om" -#: commands/dbcommands.c:2009 +#: commands/dbcommands.c:2026 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "kan inte ändra tablespace på den databas som används just nu" -#: commands/dbcommands.c:2115 +#: commands/dbcommands.c:2132 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "vissa relationer i databasen \"%s\" finns redan i tablespace \"%s\"" -#: commands/dbcommands.c:2117 +#: commands/dbcommands.c:2134 #, c-format msgid "You must move them back to the database's default tablespace before using this command." msgstr "Du måste flytta tillbaka dem till tabellens standard-tablespace innan du använder detta kommando." -#: commands/dbcommands.c:2244 commands/dbcommands.c:2979 -#: commands/dbcommands.c:3279 commands/dbcommands.c:3392 +#: commands/dbcommands.c:2261 commands/dbcommands.c:2996 +#: commands/dbcommands.c:3296 commands/dbcommands.c:3409 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "några värdelösa filer kan lämnas kvar i gammal databaskatalog \"%s\"" -#: commands/dbcommands.c:2305 +#: commands/dbcommands.c:2322 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "okänd DROP DATABASE-flagga \"%s\"" -#: commands/dbcommands.c:2383 +#: commands/dbcommands.c:2400 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "flaggan \"%s\" kan inte anges tillsammans med andra flaggor" -#: commands/dbcommands.c:2430 +#: commands/dbcommands.c:2447 #, c-format msgid "cannot alter invalid database \"%s\"" msgstr "kan inte ändra på ogiltig database \"%s\"" -#: commands/dbcommands.c:2447 +#: commands/dbcommands.c:2464 #, c-format msgid "cannot disallow connections for current database" msgstr "kan inte förbjuda anslutningar till nuvarande databas" -#: commands/dbcommands.c:2673 +#: commands/dbcommands.c:2690 #, c-format msgid "permission denied to change owner of database" msgstr "rättighet saknas för att byta ägare på databasen" -#: commands/dbcommands.c:3085 +#: commands/dbcommands.c:3102 #, c-format msgid "There are %d other session(s) and %d prepared transaction(s) using the database." msgstr "Det finns %d andra session(er) och %d förberedda transaktion(er) som använder databasen." -#: commands/dbcommands.c:3088 +#: commands/dbcommands.c:3105 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." msgstr[0] "Det finns %d annan session som använder databasen." msgstr[1] "Det finns %d andra sessioner som använder databasen." -#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3859 +#: commands/dbcommands.c:3110 storage/ipc/procarray.c:3859 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." msgstr[0] "Det finns %d förberedd transaktion som använder databasen" msgstr[1] "Det finns %d förberedda transaktioner som använder databasen" -#: commands/dbcommands.c:3235 +#: commands/dbcommands.c:3252 #, c-format msgid "missing directory \"%s\"" msgstr "saknar katalog \"%s\"" -#: commands/dbcommands.c:3293 commands/tablespace.c:184 +#: commands/dbcommands.c:3310 commands/tablespace.c:184 #: commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" @@ -8056,7 +7991,7 @@ msgid "invalid argument for %s: \"%s\"" msgstr "ogiltigt argument till \"%s\": \"%s\"" #: commands/dropcmds.c:96 commands/functioncmds.c:1382 -#: utils/adt/ruleutils.c:2909 +#: utils/adt/ruleutils.c:2905 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\" är en aggregatfunktion" @@ -8066,14 +8001,14 @@ msgstr "\"%s\" är en aggregatfunktion" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Använd DROP AGGREGATE för att ta bort aggregatfunktioner." -#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3877 -#: commands/tablecmds.c:4035 commands/tablecmds.c:4087 -#: commands/tablecmds.c:17073 tcop/utility.c:1325 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3872 +#: commands/tablecmds.c:4030 commands/tablecmds.c:4082 +#: commands/tablecmds.c:17058 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "relation \"%s\" finns inte, hoppar över" -#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1392 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "schema \"%s\" finns inte, hoppar över" @@ -8628,7 +8563,7 @@ msgstr "Måste vara superuser för att byta ägare på en främmande data-omvand msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Ägaren av en främmande data-omvandlare måste vara en superuser." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "främmande data-omvandlare \"%s\" finns inte" @@ -8698,7 +8633,7 @@ msgstr "användarmappning för \"%s\" finns inte för servern \"%s\"" msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "användarmappning för \"%s\" finns inte för servern \"%s\", hoppar över" -#: commands/foreigncmds.c:1507 foreign/foreign.c:394 +#: commands/foreigncmds.c:1507 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "främmande data-omvandlare \"%s\" har ingen hanterare" @@ -8873,13 +8808,13 @@ msgstr "bara en AS-sträng krävs för språk \"%s\"" msgid "no language specified" msgstr "inget språk angivet" -#: commands/functioncmds.c:1099 commands/functioncmds.c:2104 +#: commands/functioncmds.c:1099 commands/functioncmds.c:2117 #: commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "språk \"%s\" existerar inte" -#: commands/functioncmds.c:1101 commands/functioncmds.c:2106 +#: commands/functioncmds.c:1101 commands/functioncmds.c:2119 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Använd CREATE EXTENSION för att ladda in språket i databasen." @@ -8974,102 +8909,107 @@ msgstr "måste vara superuser för att skapa en typomvandling WITHOUT FUNCTION" msgid "source and target data types are not physically compatible" msgstr "käll- och måldatatypen är inte kompatibla rent tekniskt" -#: commands/functioncmds.c:1704 +#: commands/functioncmds.c:1709 #, c-format msgid "composite data types are not binary-compatible" msgstr "composite-datatyper är inte binärkompatibla" -#: commands/functioncmds.c:1710 -#, c-format -msgid "enum data types are not binary-compatible" -msgstr "enum-datatyper är inte binärkompatibla" - -#: commands/functioncmds.c:1716 +#: commands/functioncmds.c:1715 #, c-format msgid "array data types are not binary-compatible" msgstr "array-datatyper är inte binärkompatibla" -#: commands/functioncmds.c:1733 +#: commands/functioncmds.c:1723 +#, c-format +msgid "range data types are not binary-compatible" +msgstr "range-datatyper är inte binärkompatibla" + +#: commands/functioncmds.c:1729 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "enum-datatyper är inte binärkompatibla" + +#: commands/functioncmds.c:1746 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "domändatatyper får inte markeras binärkompatibla" -#: commands/functioncmds.c:1743 +#: commands/functioncmds.c:1756 #, c-format msgid "source data type and target data type are the same" msgstr "kalldatatypen och måldatatypen är samma" -#: commands/functioncmds.c:1776 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must not be volatile" msgstr "transformfunktion får inte vara volatile" -#: commands/functioncmds.c:1780 +#: commands/functioncmds.c:1793 #, c-format msgid "transform function must be a normal function" msgstr "transformfunktion måste vara en normal funktion" -#: commands/functioncmds.c:1784 +#: commands/functioncmds.c:1797 #, c-format msgid "transform function must not return a set" msgstr "transformfunktion får inte returnera en mängd" -#: commands/functioncmds.c:1788 +#: commands/functioncmds.c:1801 #, c-format msgid "transform function must take one argument" msgstr "transformfunktion måster ta ett argument" -#: commands/functioncmds.c:1792 +#: commands/functioncmds.c:1805 #, c-format msgid "first argument of transform function must be type %s" msgstr "första argumentet till en transformfunktion måste vara av typen %s" -#: commands/functioncmds.c:1831 +#: commands/functioncmds.c:1844 #, c-format msgid "data type %s is a pseudo-type" msgstr "datatypen %s är en pseudo-typ" -#: commands/functioncmds.c:1837 +#: commands/functioncmds.c:1850 #, c-format msgid "data type %s is a domain" msgstr "datatypen %s är en domän" -#: commands/functioncmds.c:1877 +#: commands/functioncmds.c:1890 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "returdatatyp för FROM SQL-funktion måste vara %s" -#: commands/functioncmds.c:1903 +#: commands/functioncmds.c:1916 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "returdatatyp för TO SQL-funktion måste vara transformdatatypen" -#: commands/functioncmds.c:1930 +#: commands/functioncmds.c:1943 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "transform för typ %s språk \"%s\" finns redan" -#: commands/functioncmds.c:2016 +#: commands/functioncmds.c:2029 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "transform för typ %s språk \"%s\" finns inte" -#: commands/functioncmds.c:2040 +#: commands/functioncmds.c:2053 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "funktionen %s finns redan i schema \"%s\"" -#: commands/functioncmds.c:2091 +#: commands/functioncmds.c:2104 #, c-format msgid "no inline code specified" msgstr "ingen inline-kod angiven" -#: commands/functioncmds.c:2137 +#: commands/functioncmds.c:2150 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "språk \"%s\" stöder inte inline-kodexekvering" -#: commands/functioncmds.c:2232 +#: commands/functioncmds.c:2245 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -9101,12 +9041,12 @@ msgstr "kan inte parallellt skapa index för partitionerad tabell \"%s\"" msgid "cannot create indexes on temporary tables of other sessions" msgstr "kan inte skapa index till temporära tabeller som tillhör andra sessioner" -#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178 +#: commands/indexcmds.c:768 commands/tablecmds.c:801 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "kan inte sätta standard-tablespace för partitionerade relationer" -#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3576 +#: commands/indexcmds.c:800 commands/tablecmds.c:832 commands/tablecmds.c:3571 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "bara delade relationer kan placeras i tablespace:et pg_global" @@ -9186,13 +9126,13 @@ msgstr "Tabell \"%s\" innehåller partitioner som är främmande tabeller." msgid "functions in index predicate must be marked IMMUTABLE" msgstr "funktioner i indexpredikat måste vara markerade IMMUTABLE" -#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2494 -#: parser/parse_utilcmd.c:2629 +#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2491 +#: parser/parse_utilcmd.c:2626 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "kolumn \"%s\" angiven i en nyckel existerar inte" -#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1782 +#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1779 #, c-format msgid "expressions are not supported in included columns" msgstr "uttryck stöds inte i inkluderade kolumner" @@ -9227,8 +9167,8 @@ msgstr "inkluderad kolumn stöder inte NULLS FIRST/LAST-flaggor" msgid "could not determine which collation to use for index expression" msgstr "kunde inte bestämma vilken jämförelse (collation) som skulle användas för indexuttryck" -#: commands/indexcmds.c:2054 commands/tablecmds.c:18090 commands/typecmds.c:811 -#: parser/parse_expr.c:2784 parser/parse_type.c:568 parser/parse_utilcmd.c:3918 +#: commands/indexcmds.c:2054 commands/tablecmds.c:18075 commands/typecmds.c:811 +#: parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3743 #: utils/adt/misc.c:630 #, c-format msgid "collations are not supported by type %s" @@ -9264,8 +9204,8 @@ msgstr "accessmetod \"%s\" stöder inte ASC/DESC-flaggor" msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "accessmetod \"%s\" stöder inte NULLS FIRST/LAST-flaggor" -#: commands/indexcmds.c:2236 commands/tablecmds.c:18115 -#: commands/tablecmds.c:18121 commands/typecmds.c:2311 +#: commands/indexcmds.c:2236 commands/tablecmds.c:18100 +#: commands/tablecmds.c:18106 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "datatyp %s har ingen standardoperatorklass för accessmetod \"%s\"" @@ -9387,7 +9327,7 @@ msgstr "kan inte låsa relationen \"%s\"" msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "CONCURRENTLY kan inte användas när den materialiserade vyn inte är populerad" -#: commands/matview.c:212 gram.y:18967 +#: commands/matview.c:212 gram.y:18911 #, c-format msgid "%s and %s options cannot be used together" msgstr "flaggorna %s och %s kan inte användas ihop" @@ -9702,10 +9642,10 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "operatorattribut \"%s\" kan inte ändras när det redan har satts" #: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 -#: commands/tablecmds.c:1728 commands/tablecmds.c:2328 -#: commands/tablecmds.c:3687 commands/tablecmds.c:6625 -#: commands/tablecmds.c:9657 commands/tablecmds.c:17677 -#: commands/tablecmds.c:17712 commands/trigger.c:316 commands/trigger.c:1332 +#: commands/tablecmds.c:1723 commands/tablecmds.c:2323 +#: commands/tablecmds.c:3682 commands/tablecmds.c:6582 +#: commands/tablecmds.c:9614 commands/tablecmds.c:17662 +#: commands/tablecmds.c:17697 commands/trigger.c:316 commands/trigger.c:1332 #: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 #: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format @@ -10155,8 +10095,8 @@ msgstr "tabellen måste vara i samma schema som tabellen den är länkad till" msgid "cannot change ownership of identity sequence" msgstr "kan inte byta ägare på identitetssekvens" -#: commands/sequence.c:1668 commands/tablecmds.c:14399 -#: commands/tablecmds.c:17093 +#: commands/sequence.c:1668 commands/tablecmds.c:14384 +#: commands/tablecmds.c:17078 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Sekvens \"%s\" är länkad till tabell \"%s\"" @@ -10226,12 +10166,12 @@ msgstr "duplicerade kolumnnamn i statistikdefinition" msgid "duplicate expression in statistics definition" msgstr "duplicerade uttryck i statistikdefinition" -#: commands/statscmds.c:628 commands/tablecmds.c:8640 +#: commands/statscmds.c:628 commands/tablecmds.c:8597 #, c-format msgid "statistics target %d is too low" msgstr "statistikmålet %d är för lågt" -#: commands/statscmds.c:636 commands/tablecmds.c:8648 +#: commands/statscmds.c:636 commands/tablecmds.c:8605 #, c-format msgid "lowering statistics target to %d" msgstr "minskar statistikmålet till %d" @@ -10327,8 +10267,8 @@ msgstr "kan inte sätta %s för påslagen prenumeration" #: commands/subscriptioncmds.c:1233 #, c-format -msgid "cannot set %s for a subscription that does not have a slot name" -msgstr "kan inte sätta %s för prenumeration som inte har ett slot-namn" +msgid "cannot set option \"%s\" for a subscription that does not have a slot name" +msgstr "kan inte sätta flagga \"%s\" för prenumeration som inte har ett slot-namn" #: commands/subscriptioncmds.c:1279 #, c-format @@ -10521,8 +10461,8 @@ msgstr "materialiserad vy \"%s\" finns inte, hoppar över" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Använd DROP MATERIALIZED VIEW för att ta bort en materialiserad vy." -#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19648 -#: parser/parse_utilcmd.c:2226 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19617 +#: parser/parse_utilcmd.c:2223 #, c-format msgid "index \"%s\" does not exist" msgstr "index \"%s\" finns inte" @@ -10545,8 +10485,8 @@ msgstr "\"%s\" är inte en typ" msgid "Use DROP TYPE to remove a type." msgstr "Använd DROP TYPE för att ta bort en typ." -#: commands/tablecmds.c:291 commands/tablecmds.c:14238 -#: commands/tablecmds.c:16798 +#: commands/tablecmds.c:291 commands/tablecmds.c:14223 +#: commands/tablecmds.c:16783 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "främmande tabell \"%s\" finns inte" @@ -10560,209 +10500,209 @@ msgstr "främmande tabell \"%s\" finns inte, hoppar över" msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Använd DROP FOREIGN TABLE för att ta bort en främmande tabell." -#: commands/tablecmds.c:722 +#: commands/tablecmds.c:717 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT kan bara användas på temporära tabeller" -#: commands/tablecmds.c:753 +#: commands/tablecmds.c:748 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "kan inte skapa temporär tabell i en säkerhetsbegränsad operation" -#: commands/tablecmds.c:789 commands/tablecmds.c:15657 +#: commands/tablecmds.c:784 commands/tablecmds.c:15642 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "relationen \"%s\" skulle ärvas mer än en gång" -#: commands/tablecmds.c:1055 +#: commands/tablecmds.c:1050 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\" är inte partitionerad" -#: commands/tablecmds.c:1149 +#: commands/tablecmds.c:1144 #, c-format msgid "cannot partition using more than %d columns" msgstr "kan inte partitionera med fler än %d kolumner" -#: commands/tablecmds.c:1205 +#: commands/tablecmds.c:1200 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "kan inte skapa främmande partition för partitionerad tabell \"%s\"" -#: commands/tablecmds.c:1207 +#: commands/tablecmds.c:1202 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Tabell \"%s\" innehåller index som är unika." -#: commands/tablecmds.c:1326 commands/tablecmds.c:13254 +#: commands/tablecmds.c:1321 commands/tablecmds.c:13239 #, c-format msgid "too many array dimensions" msgstr "för många array-dimensioner" -#: commands/tablecmds.c:1331 parser/parse_clause.c:774 +#: commands/tablecmds.c:1326 parser/parse_clause.c:774 #: parser/parse_relation.c:1912 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "kolumn \"%s\" kan inte deklareras som SETOF" -#: commands/tablecmds.c:1477 +#: commands/tablecmds.c:1472 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY stöder inte att slänga flera objekt" -#: commands/tablecmds.c:1481 +#: commands/tablecmds.c:1476 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY stöder inte CASCADE" -#: commands/tablecmds.c:1585 +#: commands/tablecmds.c:1580 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "kan inte parallellt ta bort partitionerat index \"%s\"" -#: commands/tablecmds.c:1873 +#: commands/tablecmds.c:1868 #, c-format msgid "cannot truncate only a partitioned table" msgstr "kan inte trunkera enbart en partitionerad tabell" -#: commands/tablecmds.c:1874 +#: commands/tablecmds.c:1869 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Ange inte nyckelordet ONLY eller använd TRUNCATE ONLY direkt på partitionerna." -#: commands/tablecmds.c:1947 +#: commands/tablecmds.c:1942 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "truncate svämmar över (cascades) till \"%s\"" -#: commands/tablecmds.c:2308 +#: commands/tablecmds.c:2303 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "kan inte trunkera främmande tabell \"%s\"" -#: commands/tablecmds.c:2365 +#: commands/tablecmds.c:2360 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "kan inte trunkera temporära tabeller tillhörande andra sessioner" -#: commands/tablecmds.c:2594 commands/tablecmds.c:15554 +#: commands/tablecmds.c:2589 commands/tablecmds.c:15539 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "kan inte ärva från partitionerad tabell \"%s\"" -#: commands/tablecmds.c:2599 +#: commands/tablecmds.c:2594 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "kan inte ärva från partition \"%s\"" -#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456 -#: parser/parse_utilcmd.c:2598 +#: commands/tablecmds.c:2602 parser/parse_utilcmd.c:2453 +#: parser/parse_utilcmd.c:2595 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "ärvd relation \"%s\" är inte en tabell eller främmande tabell" -#: commands/tablecmds.c:2619 commands/tablecmds.c:20412 +#: commands/tablecmds.c:2614 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "kan inte skapa en temporär relation som partition till en permanent relation \"%s\"" -#: commands/tablecmds.c:2628 commands/tablecmds.c:15533 +#: commands/tablecmds.c:2623 commands/tablecmds.c:15518 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "kan inte ärva från en temporär relation \"%s\"" -#: commands/tablecmds.c:2638 commands/tablecmds.c:15541 +#: commands/tablecmds.c:2633 commands/tablecmds.c:15526 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "kan inte ärva från en temporär relation i en annan session" -#: commands/tablecmds.c:2779 commands/tablecmds.c:2833 -#: commands/tablecmds.c:12937 parser/parse_utilcmd.c:1240 -#: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710 -#: parser/parse_utilcmd.c:1818 +#: commands/tablecmds.c:2774 commands/tablecmds.c:2828 +#: commands/tablecmds.c:12922 parser/parse_utilcmd.c:1237 +#: parser/parse_utilcmd.c:1280 parser/parse_utilcmd.c:1707 +#: parser/parse_utilcmd.c:1815 #, c-format msgid "cannot convert whole-row table reference" msgstr "kan inte konvertera hela-raden-tabellreferens" -#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241 +#: commands/tablecmds.c:2775 parser/parse_utilcmd.c:1238 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Genereringsuttryck för kolumn \"%s\" innehåller en hela-raden-referens på tabellen \"%s\"." -#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284 +#: commands/tablecmds.c:2829 parser/parse_utilcmd.c:1281 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Villkor \"%s\" innehåller en hela-raden-referens på tabellen \"%s\"." -#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 +#: commands/tablecmds.c:2939 commands/tablecmds.c:3210 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "kolumnen \"%s\" ärver från genererad kolumn men har \"default\"" -#: commands/tablecmds.c:2949 commands/tablecmds.c:3220 +#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "kolumnen \"%s\" ärver från genererad kolumn men har \"identity\"" -#: commands/tablecmds.c:2957 commands/tablecmds.c:3228 +#: commands/tablecmds.c:2952 commands/tablecmds.c:3223 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "barnkolumn \"%s\" använder genereringsuttryck" -#: commands/tablecmds.c:2959 commands/tablecmds.c:3230 +#: commands/tablecmds.c:2954 commands/tablecmds.c:3225 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "En barntabellkolumn kan inte vara genererad om inte dess förälderkolumn är det." -#: commands/tablecmds.c:3005 +#: commands/tablecmds.c:3000 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "kolumnen \"%s\" ärver motstridiga genereringsuttryck" -#: commands/tablecmds.c:3007 +#: commands/tablecmds.c:3002 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "För att lösa konflikten, ange ett explicit genereringsuttryck." -#: commands/tablecmds.c:3011 +#: commands/tablecmds.c:3006 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "kolumnen \"%s\" ärver motstridiga default-värden" -#: commands/tablecmds.c:3013 +#: commands/tablecmds.c:3008 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "För att lösa konflikten, ange ett explicit default-värde." -#: commands/tablecmds.c:3068 +#: commands/tablecmds.c:3063 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "check-villkor \"%s\" finns med flera gånger men med olika uttryck" -#: commands/tablecmds.c:3119 +#: commands/tablecmds.c:3114 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "slår samman kolumn \"%s\" med ärvd definition" -#: commands/tablecmds.c:3123 +#: commands/tablecmds.c:3118 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "flyttar och slår samman kolumn \"%s\" med ärvd definition" -#: commands/tablecmds.c:3124 +#: commands/tablecmds.c:3119 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Användarangiven kolumn flyttad till den ärvda kolumnens position." -#: commands/tablecmds.c:3136 +#: commands/tablecmds.c:3131 #, c-format msgid "column \"%s\" has a type conflict" msgstr "kolumnen \"%s\" har en typkonflikt" -#: commands/tablecmds.c:3138 commands/tablecmds.c:3172 -#: commands/tablecmds.c:3188 commands/tablecmds.c:3295 -#: commands/tablecmds.c:3328 commands/tablecmds.c:3344 +#: commands/tablecmds.c:3133 commands/tablecmds.c:3167 +#: commands/tablecmds.c:3183 commands/tablecmds.c:3290 +#: commands/tablecmds.c:3323 commands/tablecmds.c:3339 #: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 #: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 #: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 @@ -10773,1208 +10713,1203 @@ msgstr "kolumnen \"%s\" har en typkonflikt" msgid "%s versus %s" msgstr "%s kontra %s" -#: commands/tablecmds.c:3150 +#: commands/tablecmds.c:3145 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "kolumn \"%s\" har en jämförelsekonflikt" -#: commands/tablecmds.c:3152 commands/tablecmds.c:3314 -#: commands/tablecmds.c:7100 +#: commands/tablecmds.c:3147 commands/tablecmds.c:3309 +#: commands/tablecmds.c:7057 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" kontra \"%s\"" -#: commands/tablecmds.c:3170 +#: commands/tablecmds.c:3165 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "kolumnen \"%s\" har en lagringsparameterkonflikt" -#: commands/tablecmds.c:3186 commands/tablecmds.c:3342 +#: commands/tablecmds.c:3181 commands/tablecmds.c:3337 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "kolumn \"%s\" har en konflikt i komprimeringsmetoden" -#: commands/tablecmds.c:3281 +#: commands/tablecmds.c:3276 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "slår samman multipla ärvda definitioner av kolumn \"%s\"" -#: commands/tablecmds.c:3293 +#: commands/tablecmds.c:3288 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "ärvd kolumn \"%s\" har en typkonflikt" -#: commands/tablecmds.c:3312 +#: commands/tablecmds.c:3307 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "ärvd kolumn \"%s\" har en jämförelsekonflikt" -#: commands/tablecmds.c:3326 +#: commands/tablecmds.c:3321 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "ärvd kolumn \"%s\" har en lagringsparameterkonflikt" -#: commands/tablecmds.c:3354 +#: commands/tablecmds.c:3349 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "ärvd kolumn \"%s\" har en genereringskonflikt" -#: commands/tablecmds.c:3585 +#: commands/tablecmds.c:3580 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "kan inte flytta temporära tabeller tillhörande andra sessioner" -#: commands/tablecmds.c:3655 +#: commands/tablecmds.c:3650 #, c-format msgid "cannot rename column of typed table" msgstr "kan inte byta namn på kolumn i typad tabell" -#: commands/tablecmds.c:3674 +#: commands/tablecmds.c:3669 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "kan inte byta namn på kolumner i relation \"%s\"" -#: commands/tablecmds.c:3769 +#: commands/tablecmds.c:3764 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "ärvd kolumn \"%s\" måste döpas om i barntabellerna också" -#: commands/tablecmds.c:3801 +#: commands/tablecmds.c:3796 #, c-format msgid "cannot rename system column \"%s\"" msgstr "kan inte ändra döpa om systemkolumn \"%s\"" -#: commands/tablecmds.c:3816 +#: commands/tablecmds.c:3811 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "kan inte döpa om ärvd kolumn \"%s\"" -#: commands/tablecmds.c:3968 +#: commands/tablecmds.c:3963 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "ärvt villkor \"%s\" måste döpas om i barntabellerna också" -#: commands/tablecmds.c:3975 +#: commands/tablecmds.c:3970 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "kan inte döpa om ärvt villkor \"%s\"" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4272 +#: commands/tablecmds.c:4267 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "kan inte %s \"%s\" då den används av aktiva frågor i denna session" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4281 +#: commands/tablecmds.c:4276 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "kan inte %s \"%s\" då den har triggerhändelser som väntar" -#: commands/tablecmds.c:4307 +#: commands/tablecmds.c:4302 #, c-format msgid "cannot alter temporary tables of other sessions" msgstr "kan inte ändra temporära tabeller för andra sessioner" -#: commands/tablecmds.c:4788 +#: commands/tablecmds.c:4775 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "kan inte ändra partition \"%s\" som har en ofullständing bortkoppling" -#: commands/tablecmds.c:4992 commands/tablecmds.c:5007 +#: commands/tablecmds.c:4979 commands/tablecmds.c:4994 #, c-format msgid "cannot change persistence setting twice" msgstr "kan inte ändra persistensinställning två gånger" -#: commands/tablecmds.c:5028 +#: commands/tablecmds.c:5015 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "kan inte ha flera underkommandon SET ACCESS METHOD" -#: commands/tablecmds.c:5784 +#: commands/tablecmds.c:5745 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "kan inte skriva om systemkolumn \"%s\"" -#: commands/tablecmds.c:5790 +#: commands/tablecmds.c:5751 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "kan inte skriva om tabell \"%s\" som används som katalogtabell" -#: commands/tablecmds.c:5802 +#: commands/tablecmds.c:5763 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "kan inte skriva om temporära tabeller som tillhör andra sessioner" -#: commands/tablecmds.c:6297 +#: commands/tablecmds.c:6258 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "kolumn \"%s\" i relation \"%s\" innehåller null-värden" -#: commands/tablecmds.c:6314 +#: commands/tablecmds.c:6275 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "check-villkor \"%s\" i relation \"%s\" bryts av någon rad" -#: commands/tablecmds.c:6333 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6294 partitioning/partbounds.c:3387 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "uppdaterat partitionsintegritetsvillkor för standardpartition \"%s\" skulle brytas mot av någon rad" -#: commands/tablecmds.c:6339 +#: commands/tablecmds.c:6300 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "partitionsvillkor i relation \"%s\" bryts mot av någon rad" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6608 +#: commands/tablecmds.c:6565 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTER action %s kan inte utföras på relationen \"%s\"" -#: commands/tablecmds.c:6863 commands/tablecmds.c:6870 +#: commands/tablecmds.c:6820 commands/tablecmds.c:6827 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "kan inte ändra typen \"%s\" eftersom kolumn \"%s.%s\" använder den" -#: commands/tablecmds.c:6877 +#: commands/tablecmds.c:6834 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kan inte ändra främmande tabell \"%s\" eftersom kolumn \"%s.%s\" använder dess radtyp" -#: commands/tablecmds.c:6884 +#: commands/tablecmds.c:6841 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kan inte ändra tabell \"%s\" eftersom kolumn \"%s.%s\" använder dess radtyp" -#: commands/tablecmds.c:6940 +#: commands/tablecmds.c:6897 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "kan inte ändra typ \"%s\" eftersom det är typen för en typad tabell" -#: commands/tablecmds.c:6942 +#: commands/tablecmds.c:6899 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Använd ALTER ... CASCADE för att ändra på de typade tabellerna också." -#: commands/tablecmds.c:6988 +#: commands/tablecmds.c:6945 #, c-format msgid "type %s is not a composite type" msgstr "typen %s är inte en composite-typ" -#: commands/tablecmds.c:7015 +#: commands/tablecmds.c:6972 #, c-format msgid "cannot add column to typed table" msgstr "kan inte lägga till kolumn till typad tabell" -#: commands/tablecmds.c:7063 +#: commands/tablecmds.c:7020 #, c-format msgid "cannot add column to a partition" msgstr "kan inte lägga till kolumn till partition" -#: commands/tablecmds.c:7092 commands/tablecmds.c:15772 +#: commands/tablecmds.c:7049 commands/tablecmds.c:15757 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "barntabell \"%s\" har annan typ på kolumn \"%s\"" -#: commands/tablecmds.c:7098 commands/tablecmds.c:15778 +#: commands/tablecmds.c:7055 commands/tablecmds.c:15763 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "barntabell \"%s\" har annan jämförelse (collation) på kolumn \"%s\"" -#: commands/tablecmds.c:7116 +#: commands/tablecmds.c:7073 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "slår samman definitionen av kolumn \"%s\" för barn \"%s\"" -#: commands/tablecmds.c:7169 +#: commands/tablecmds.c:7126 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "kan inte rekursivt lägga till identitetskolumn till tabell som har barntabeller" -#: commands/tablecmds.c:7382 +#: commands/tablecmds.c:7339 #, c-format msgid "column must be added to child tables too" msgstr "kolumnen måste läggas till i barntabellerna också" -#: commands/tablecmds.c:7460 +#: commands/tablecmds.c:7417 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "kolumn \"%s\" i relation \"%s\" finns redan, hoppar över" -#: commands/tablecmds.c:7467 +#: commands/tablecmds.c:7424 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "kolumn \"%s\" i relation \"%s\" finns redan" -#: commands/tablecmds.c:7533 commands/tablecmds.c:12576 +#: commands/tablecmds.c:7490 commands/tablecmds.c:12550 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "kan inte ta bort villkor från bara den partitionerade tabellen när partitioner finns" -#: commands/tablecmds.c:7534 commands/tablecmds.c:7848 -#: commands/tablecmds.c:8026 commands/tablecmds.c:8133 -#: commands/tablecmds.c:8250 commands/tablecmds.c:9069 -#: commands/tablecmds.c:12577 +#: commands/tablecmds.c:7491 commands/tablecmds.c:7805 +#: commands/tablecmds.c:7983 commands/tablecmds.c:8090 +#: commands/tablecmds.c:8207 commands/tablecmds.c:9026 +#: commands/tablecmds.c:12551 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Ange inte nyckelordet ONLY." -#: commands/tablecmds.c:7570 commands/tablecmds.c:7774 -#: commands/tablecmds.c:7916 commands/tablecmds.c:8048 -#: commands/tablecmds.c:8177 commands/tablecmds.c:8271 -#: commands/tablecmds.c:8372 commands/tablecmds.c:8529 -#: commands/tablecmds.c:8682 commands/tablecmds.c:8763 -#: commands/tablecmds.c:8897 commands/tablecmds.c:12730 -#: commands/tablecmds.c:14261 commands/tablecmds.c:16887 +#: commands/tablecmds.c:7527 commands/tablecmds.c:7731 +#: commands/tablecmds.c:7873 commands/tablecmds.c:8005 +#: commands/tablecmds.c:8134 commands/tablecmds.c:8228 +#: commands/tablecmds.c:8329 commands/tablecmds.c:8486 +#: commands/tablecmds.c:8639 commands/tablecmds.c:8720 +#: commands/tablecmds.c:8854 commands/tablecmds.c:12704 +#: commands/tablecmds.c:14246 commands/tablecmds.c:16872 #, c-format msgid "cannot alter system column \"%s\"" msgstr "kan inte ändra systemkolumn \"%s\"" -#: commands/tablecmds.c:7576 commands/tablecmds.c:7922 +#: commands/tablecmds.c:7533 commands/tablecmds.c:7879 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "kolumn \"%s\" i relation \"%s\" är en identitetskolumn" -#: commands/tablecmds.c:7617 +#: commands/tablecmds.c:7574 #, c-format msgid "column \"%s\" is in a primary key" msgstr "kolumn \"%s\" är del av en primärnyckel" -#: commands/tablecmds.c:7622 +#: commands/tablecmds.c:7579 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "kolumnen \"%s\" finns i ett index som används som replikaidentitet" -#: commands/tablecmds.c:7645 +#: commands/tablecmds.c:7602 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "kolumn \"%s\" är markerad NOT NULL i föräldratabellen" -#: commands/tablecmds.c:7845 commands/tablecmds.c:9553 +#: commands/tablecmds.c:7802 commands/tablecmds.c:9510 #, c-format msgid "constraint must be added to child tables too" msgstr "villkoret måste läggas till i barntabellerna också" -#: commands/tablecmds.c:7846 +#: commands/tablecmds.c:7803 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Kolumn \"%s\" i relation \"%s\" är inte redan NOT NULL." -#: commands/tablecmds.c:7931 +#: commands/tablecmds.c:7888 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "kolumn \"%s\" i relation \"%s\" är en genererad kolumn" -#: commands/tablecmds.c:8025 -#, fuzzy, c-format +#: commands/tablecmds.c:7982 +#, c-format msgid "cannot add identity to a column of only the partitioned table" -msgstr "kan inte slänga kolumn från bara den partitionerade tabellen när partitioner finns" +msgstr "kan inte lägga till identitet för kolumn i bara den partitionerade tabellen" -#: commands/tablecmds.c:8031 -#, fuzzy, c-format +#: commands/tablecmds.c:7988 +#, c-format msgid "cannot add identity to a column of a partition" -msgstr "kan inte lägga till kolumn till partition" +msgstr "kan inte lägga till identitet för kolumn i en partition" -#: commands/tablecmds.c:8059 +#: commands/tablecmds.c:8016 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "kolumn \"%s\" i relation \"%s\" måste deklareras NOT NULL innan identitet kan läggas till" -#: commands/tablecmds.c:8065 +#: commands/tablecmds.c:8022 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "kolumn \"%s\" i relation \"%s\" är redan en identitetskolumn" -#: commands/tablecmds.c:8071 +#: commands/tablecmds.c:8028 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "kolumn \"%s\" i relation \"%s\" har redan ett standardvärde" -#: commands/tablecmds.c:8132 -#, fuzzy, c-format +#: commands/tablecmds.c:8089 +#, c-format msgid "cannot change identity column of only the partitioned table" -msgstr "kan inte ändra arv på en partitionerad tabell" +msgstr "kan inte ändra identitetskolumn för bara den partitionerade tabellen" -#: commands/tablecmds.c:8138 -#, fuzzy, c-format +#: commands/tablecmds.c:8095 +#, c-format msgid "cannot change identity column of a partition" -msgstr "kan inte ändra arv på en partition" +msgstr "kan inte ändra identitetskolumn för en partition" -#: commands/tablecmds.c:8183 commands/tablecmds.c:8279 +#: commands/tablecmds.c:8140 commands/tablecmds.c:8236 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "kolumn \"%s\" i relation \"%s\" är inte en identitetkolumn" -#: commands/tablecmds.c:8249 -#, fuzzy, c-format +#: commands/tablecmds.c:8206 +#, c-format msgid "cannot drop identity from a column of only the partitioned table" -msgstr "kan inte slänga kolumn från bara den partitionerade tabellen när partitioner finns" +msgstr "kan inte slänga identitetskolumn från bara den partitionerade tabellen" -#: commands/tablecmds.c:8255 -#, fuzzy, c-format +#: commands/tablecmds.c:8212 +#, c-format msgid "cannot drop identity from a column of a partition" -msgstr "kan inte lägga till kolumn till partition" +msgstr "kan inte slänga identitetskolumn för en partition" -#: commands/tablecmds.c:8284 +#: commands/tablecmds.c:8241 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "kolumn \"%s\" i relation \"%s\" är inte en identitetkolumn, hoppar över" -#: commands/tablecmds.c:8378 -#, fuzzy, c-format +#: commands/tablecmds.c:8335 +#, c-format msgid "column \"%s\" of relation \"%s\" is not a generated column" -msgstr "kolumn \"%s\" i relation \"%s\" är en genererad kolumn" +msgstr "kolumn \"%s\" i relation \"%s\" är inte en genererad kolumn" -#: commands/tablecmds.c:8476 +#: commands/tablecmds.c:8433 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION måste appliceras på barntabellerna också" -#: commands/tablecmds.c:8498 +#: commands/tablecmds.c:8455 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "kan inte slänga genererat uttryck på ärvd kolumn" -#: commands/tablecmds.c:8537 +#: commands/tablecmds.c:8494 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "kolumn \"%s\" i relation \"%s\" är inte en lagrad genererad kolumn" -#: commands/tablecmds.c:8542 +#: commands/tablecmds.c:8499 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "kolumn \"%s\" i relation \"%s\" är inte en lagrad genererad kolumn, hoppar över" -#: commands/tablecmds.c:8620 +#: commands/tablecmds.c:8577 #, c-format msgid "cannot refer to non-index column by number" msgstr "kan inte referera per nummer till en icke-index-kolumn " -#: commands/tablecmds.c:8672 +#: commands/tablecmds.c:8629 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "kolumnnummer %d i relation \"%s\" finns inte" -#: commands/tablecmds.c:8691 +#: commands/tablecmds.c:8648 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "kan inte ändra statistik på inkluderad kolumn \"%s\" i index \"%s\"" -#: commands/tablecmds.c:8696 +#: commands/tablecmds.c:8653 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "kan inte ändra statistik på icke-villkorskolumn \"%s\" i index \"%s\"" -#: commands/tablecmds.c:8698 +#: commands/tablecmds.c:8655 #, c-format msgid "Alter statistics on table column instead." msgstr "Ändra statistik på tabellkolumn istället." -#: commands/tablecmds.c:8944 +#: commands/tablecmds.c:8901 #, c-format msgid "cannot drop column from typed table" msgstr "kan inte ta bort kolumn från typad tabell" -#: commands/tablecmds.c:9007 +#: commands/tablecmds.c:8964 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "kolumn \"%s\" i relation \"%s\" finns inte, hoppar över" -#: commands/tablecmds.c:9020 +#: commands/tablecmds.c:8977 #, c-format msgid "cannot drop system column \"%s\"" msgstr "kan inte ta bort systemkolumn \"%s\"" -#: commands/tablecmds.c:9030 +#: commands/tablecmds.c:8987 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "kan inte ta bort ärvd kolumn \"%s\"" -#: commands/tablecmds.c:9043 +#: commands/tablecmds.c:9000 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "kan inte slänga kolumnen \"%s\" då den är del av partitionsnyckeln för relationen \"%s\"" -#: commands/tablecmds.c:9068 +#: commands/tablecmds.c:9025 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "kan inte slänga kolumn från bara den partitionerade tabellen när partitioner finns" -#: commands/tablecmds.c:9273 +#: commands/tablecmds.c:9230 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX stöds inte på partionerade tabeller" -#: commands/tablecmds.c:9298 +#: commands/tablecmds.c:9255 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX kommer byta namn på index \"%s\" till \"%s\"" -#: commands/tablecmds.c:9635 +#: commands/tablecmds.c:9592 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "kan inte använda ONLY på främmande nyckel för partitionerad tabell \"%s\" som refererar till relationen \"%s\"" -#: commands/tablecmds.c:9641 +#: commands/tablecmds.c:9598 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "kan inte lägga till NOT VALID främmande nyckel till partitionerad tabell \"%s\" som refererar till relationen \"%s\"" -#: commands/tablecmds.c:9644 +#: commands/tablecmds.c:9601 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Denna finess stöds inte än på partitionerade tabeller." -#: commands/tablecmds.c:9651 commands/tablecmds.c:10107 +#: commands/tablecmds.c:9608 commands/tablecmds.c:10064 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "refererad relation \"%s\" är inte en tabell" -#: commands/tablecmds.c:9674 +#: commands/tablecmds.c:9631 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "villkor på permanenta tabeller får bara referera till permanenta tabeller" -#: commands/tablecmds.c:9681 +#: commands/tablecmds.c:9638 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "villkor på ologgade tabeller får bara referera till permanenta eller ologgade tabeller" -#: commands/tablecmds.c:9687 +#: commands/tablecmds.c:9644 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "villkor på temporära tabeller får bara referera till temporära tabeller" -#: commands/tablecmds.c:9691 +#: commands/tablecmds.c:9648 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "villkor på temporära tabeller får bara ta med temporära tabeller från denna session" -#: commands/tablecmds.c:9755 commands/tablecmds.c:9761 +#: commands/tablecmds.c:9712 commands/tablecmds.c:9718 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "ogiltig %s-aktion för främmande nyckelvillkor som innehåller genererad kolumn" -#: commands/tablecmds.c:9777 +#: commands/tablecmds.c:9734 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "antalet refererande och refererade kolumner för främmande nyckel stämmer ej överens" -#: commands/tablecmds.c:9884 +#: commands/tablecmds.c:9841 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "främmande nyckelvillkor \"%s\" kan inte implementeras" -#: commands/tablecmds.c:9886 +#: commands/tablecmds.c:9843 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Nyckelkolumner \"%s\" och \"%s\" har inkompatibla typer %s och %s." -#: commands/tablecmds.c:10043 +#: commands/tablecmds.c:10000 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "kolumn \"%s\" refererad i ON DELETE SET-aktion måste vara en del av en främmande nyckel" -#: commands/tablecmds.c:10317 commands/tablecmds.c:10787 -#: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:10274 commands/tablecmds.c:10761 +#: parser/parse_utilcmd.c:794 parser/parse_utilcmd.c:917 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "främmande nyckel-villkor stöds inte för främmande tabeller" -#: commands/tablecmds.c:11340 commands/tablecmds.c:11621 -#: commands/tablecmds.c:12533 commands/tablecmds.c:12607 +#: commands/tablecmds.c:10744 +#, c-format +msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"" +msgstr "kan inte ansluta tabell \"%s\" som en partition då den refereras av främmande nyckel \"%s\"" + +#: commands/tablecmds.c:11314 commands/tablecmds.c:11595 +#: commands/tablecmds.c:12507 commands/tablecmds.c:12581 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "villkor \"%s\" i relation \"%s\" finns inte" -#: commands/tablecmds.c:11347 +#: commands/tablecmds.c:11321 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "villkor \"%s\" i relation \"%s\" är inte ett främmande nyckelvillkor" -#: commands/tablecmds.c:11385 +#: commands/tablecmds.c:11359 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "kan inte ändra villkoret \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:11388 +#: commands/tablecmds.c:11362 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Villkoret \"%s\" är härlett från villkoret \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:11390 +#: commands/tablecmds.c:11364 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Du kan istället ändra på villkoret det är härlett från." -#: commands/tablecmds.c:11629 +#: commands/tablecmds.c:11603 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "villkor \"%s\" i relation \"%s\" är inte en främmande nyckel eller ett check-villkor" -#: commands/tablecmds.c:11706 +#: commands/tablecmds.c:11680 #, c-format msgid "constraint must be validated on child tables too" msgstr "villkoret måste valideras för barntabellerna också" -#: commands/tablecmds.c:11793 +#: commands/tablecmds.c:11767 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "kolumn \"%s\" som refereras till i främmande nyckelvillkor finns inte" -#: commands/tablecmds.c:11799 +#: commands/tablecmds.c:11773 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "systemkolumner kan inte användas i främmande nycklar" -#: commands/tablecmds.c:11803 +#: commands/tablecmds.c:11777 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "kan inte ha mer än %d nycklar i en främmande nyckel" -#: commands/tablecmds.c:11868 +#: commands/tablecmds.c:11842 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "kan inte använda en \"deferrable\" primärnyckel för refererad tabell \"%s\"" -#: commands/tablecmds.c:11885 +#: commands/tablecmds.c:11859 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "det finns ingen primärnyckel för refererad tabell \"%s\"" -#: commands/tablecmds.c:11953 +#: commands/tablecmds.c:11927 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "främmande nyckel-refererade kolumnlistor får inte innehålla duplikat" -#: commands/tablecmds.c:12045 +#: commands/tablecmds.c:12019 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "kan inte använda ett \"deferrable\" unikt integritetsvillkor för refererad tabell \"%s\"" -#: commands/tablecmds.c:12050 +#: commands/tablecmds.c:12024 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "finns inget unique-villkor som matchar de givna nycklarna i den refererade tabellen \"%s\"" -#: commands/tablecmds.c:12489 +#: commands/tablecmds.c:12463 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "kan inte ta bort ärvt villkor \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:12539 +#: commands/tablecmds.c:12513 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "villkor \"%s\" i relation \"%s\" finns inte, hoppar över" -#: commands/tablecmds.c:12714 +#: commands/tablecmds.c:12688 #, c-format msgid "cannot alter column type of typed table" msgstr "kan inte ändra kolumntyp på typad tabell" -#: commands/tablecmds.c:12741 +#: commands/tablecmds.c:12714 +#, c-format +msgid "cannot specify USING when altering type of generated column" +msgstr "kan inte ange USING när man ändrar typ på en genererad kolumn" + +#: commands/tablecmds.c:12715 commands/tablecmds.c:17918 +#: commands/tablecmds.c:18008 commands/trigger.c:656 +#: rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Kolumnen \"%s\" är en genererad kolumn." + +#: commands/tablecmds.c:12725 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "kan inte ändra ärvd kolumn \"%s\"" -#: commands/tablecmds.c:12750 +#: commands/tablecmds.c:12734 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "kan inte ändra kolumnen \"%s\" då den är del av partitionsnyckeln för relationen \"%s\"" -#: commands/tablecmds.c:12800 +#: commands/tablecmds.c:12784 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "resultatet av USING-klausul för kolumn \"%s\" kan inte automatiskt typomvandlas till typen %s" -#: commands/tablecmds.c:12803 +#: commands/tablecmds.c:12787 #, c-format msgid "You might need to add an explicit cast." msgstr "Du kan behöva lägga till en explicit typomvandling." -#: commands/tablecmds.c:12807 +#: commands/tablecmds.c:12791 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "kolumn \"%s\" kan inte automatiskt typomvandlas till typ %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12810 +#: commands/tablecmds.c:12795 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Du kan behöva ange \"USING %s::%s\"." -#: commands/tablecmds.c:12909 +#: commands/tablecmds.c:12894 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "kan inte ändra ärvd kolumn \"%s\" i relation \"%s\"" -#: commands/tablecmds.c:12938 +#: commands/tablecmds.c:12923 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING-uttryck innehåller en hela-raden-tabellreferens." -#: commands/tablecmds.c:12949 +#: commands/tablecmds.c:12934 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "typen av den ärvda kolumnen \"%s\" måste ändras i barntabellerna också" -#: commands/tablecmds.c:13074 +#: commands/tablecmds.c:13059 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "kan inte ändra typen på kolumn \"%s\" två gånger" -#: commands/tablecmds.c:13112 +#: commands/tablecmds.c:13097 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "genereringsuttryck för kolumn \"%s\" kan inte automatiskt typomvandlas till typ %s" -#: commands/tablecmds.c:13117 +#: commands/tablecmds.c:13102 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "\"default\" för kolumn \"%s\" kan inte automatiskt typomvandlas till typ \"%s\"" -#: commands/tablecmds.c:13421 +#: commands/tablecmds.c:13406 #, c-format msgid "cannot alter type of a column used by a function or procedure" msgstr "kan inte ändra typ på en kolumn som används av en funktion eller procedur" -#: commands/tablecmds.c:13422 commands/tablecmds.c:13437 -#: commands/tablecmds.c:13457 commands/tablecmds.c:13476 -#: commands/tablecmds.c:13535 +#: commands/tablecmds.c:13407 commands/tablecmds.c:13422 +#: commands/tablecmds.c:13442 commands/tablecmds.c:13461 +#: commands/tablecmds.c:13520 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s beror på kolumn \"%s\"" -#: commands/tablecmds.c:13436 +#: commands/tablecmds.c:13421 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "kan inte ändra typ på en kolumn som används av en vy eller en regel" -#: commands/tablecmds.c:13456 +#: commands/tablecmds.c:13441 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "kan inte ändra typ på en kolumn som används i en triggerdefinition" -#: commands/tablecmds.c:13475 +#: commands/tablecmds.c:13460 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "kan inte ändra typ på en kolumn som används av i en policydefinition" -#: commands/tablecmds.c:13506 +#: commands/tablecmds.c:13491 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "kan inte ändra typ på en kolumn som används av en genererad kolumn" -#: commands/tablecmds.c:13507 +#: commands/tablecmds.c:13492 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Kolumn \"%s\" används av genererad kolumn \"%s\"." -#: commands/tablecmds.c:13534 +#: commands/tablecmds.c:13519 #, c-format msgid "cannot alter type of a column used by a publication WHERE clause" msgstr "kan inte ändra typ på en kolumn som används av en publicerings WHERE-klausul" -#: commands/tablecmds.c:14369 commands/tablecmds.c:14381 +#: commands/tablecmds.c:14354 commands/tablecmds.c:14366 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "kan inte byta ägare på index \"%s\"" -#: commands/tablecmds.c:14371 commands/tablecmds.c:14383 +#: commands/tablecmds.c:14356 commands/tablecmds.c:14368 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Byt ägare på indexets tabell istället." -#: commands/tablecmds.c:14397 +#: commands/tablecmds.c:14382 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "kan inte byta ägare på sekvens \"%s\"" -#: commands/tablecmds.c:14422 +#: commands/tablecmds.c:14407 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "kan inte byta ägare på relationen \"%s\"" -#: commands/tablecmds.c:14889 +#: commands/tablecmds.c:14874 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "kan inte ha flera underkommandon SET TABLESPACE" -#: commands/tablecmds.c:14966 +#: commands/tablecmds.c:14951 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "kan inte sätta inställningar på relationen \"%s\"" -#: commands/tablecmds.c:15000 commands/view.c:440 +#: commands/tablecmds.c:14985 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION stöds bara på automatiskt uppdateringsbara vyer" -#: commands/tablecmds.c:15250 +#: commands/tablecmds.c:15235 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "bara tabeller, index och materialiserade vyer finns i tablespace:er" -#: commands/tablecmds.c:15262 +#: commands/tablecmds.c:15247 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "kan inte flytta relationer in eller ut från tablespace pg_global" -#: commands/tablecmds.c:15354 +#: commands/tablecmds.c:15339 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "avbryter då lås på relation \"%s.%s\" inte är tillgängligt" -#: commands/tablecmds.c:15370 +#: commands/tablecmds.c:15355 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "inga matchande relationer i tablespace \"%s\" hittades" -#: commands/tablecmds.c:15492 +#: commands/tablecmds.c:15477 #, c-format msgid "cannot change inheritance of typed table" msgstr "kan inte ändra arv på en typad tabell" -#: commands/tablecmds.c:15497 commands/tablecmds.c:15997 +#: commands/tablecmds.c:15482 commands/tablecmds.c:15982 #, c-format msgid "cannot change inheritance of a partition" msgstr "kan inte ändra arv på en partition" -#: commands/tablecmds.c:15502 +#: commands/tablecmds.c:15487 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "kan inte ändra arv på en partitionerad tabell" -#: commands/tablecmds.c:15548 +#: commands/tablecmds.c:15533 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "kan inte ärva av en temporär tabell för en annan session" -#: commands/tablecmds.c:15561 +#: commands/tablecmds.c:15546 #, c-format msgid "cannot inherit from a partition" msgstr "kan inte ärva från en partition" -#: commands/tablecmds.c:15583 commands/tablecmds.c:18465 +#: commands/tablecmds.c:15568 commands/tablecmds.c:18419 #, c-format msgid "circular inheritance not allowed" msgstr "cirkulärt arv är inte tillåtet" -#: commands/tablecmds.c:15584 commands/tablecmds.c:18466 +#: commands/tablecmds.c:15569 commands/tablecmds.c:18420 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" är redan ett barn till \"%s\"" -#: commands/tablecmds.c:15597 +#: commands/tablecmds.c:15582 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "trigger \"%s\" förhindrar tabell \"%s\" från att bli ett arvsbarn" -#: commands/tablecmds.c:15599 +#: commands/tablecmds.c:15584 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "ROW-triggrar med övergångstabeller stöds inte i arvshierarkier." -#: commands/tablecmds.c:15788 +#: commands/tablecmds.c:15773 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "kolumn \"%s\" i barntabell måste vara markerad NOT NULL" -#: commands/tablecmds.c:15797 +#: commands/tablecmds.c:15782 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "kolumn \"%s\" i barntabell måste vara en genererad kolumn" -#: commands/tablecmds.c:15801 +#: commands/tablecmds.c:15786 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "kolumn \"%s\" i barntabell kan inte vara en genererad kolumn" -#: commands/tablecmds.c:15839 +#: commands/tablecmds.c:15824 #, c-format msgid "child table is missing column \"%s\"" msgstr "barntabell saknar kolumn \"%s\"" -#: commands/tablecmds.c:15920 +#: commands/tablecmds.c:15905 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "barntabell \"%s\" har annan definition av check-villkor \"%s\"" -#: commands/tablecmds.c:15927 +#: commands/tablecmds.c:15912 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "villkor \"%s\" står i konflikt med icke-ärvt villkor på barntabell \"%s\"" -#: commands/tablecmds.c:15937 +#: commands/tablecmds.c:15922 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "villkor \"%s\" står i konflikt med NOT VALID-villkor på barntabell \"%s\"" -#: commands/tablecmds.c:15975 +#: commands/tablecmds.c:15960 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "barntabell saknar riktighetsvillkor \"%s\"" -#: commands/tablecmds.c:16061 +#: commands/tablecmds.c:16046 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "partition \"%s\" har redan en pågående bortkoppling i partitionerad tabell \"%s.%s\"" -#: commands/tablecmds.c:16090 commands/tablecmds.c:16136 -#: parser/parse_utilcmd.c:3261 +#: commands/tablecmds.c:16075 commands/tablecmds.c:16121 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "relationen \"%s\" är inte partition av relationen \"%s\"" -#: commands/tablecmds.c:16142 +#: commands/tablecmds.c:16127 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "relationen \"%s\" är inte en förälder till relationen \"%s\"" -#: commands/tablecmds.c:16369 +#: commands/tablecmds.c:16354 #, c-format msgid "typed tables cannot inherit" msgstr "typade tabeller kan inte ärva" -#: commands/tablecmds.c:16399 +#: commands/tablecmds.c:16384 #, c-format msgid "table is missing column \"%s\"" msgstr "tabell saknar kolumn \"%s\"" -#: commands/tablecmds.c:16410 +#: commands/tablecmds.c:16395 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "tabell har kolumn \"%s\" där typen kräver \"%s\"" -#: commands/tablecmds.c:16419 +#: commands/tablecmds.c:16404 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "tabell \"%s\" har annan typ på kolumn \"%s\"" -#: commands/tablecmds.c:16433 +#: commands/tablecmds.c:16418 #, c-format msgid "table has extra column \"%s\"" msgstr "tabell har extra kolumn \"%s\"" -#: commands/tablecmds.c:16485 +#: commands/tablecmds.c:16470 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" är inte en typad tabell" -#: commands/tablecmds.c:16659 +#: commands/tablecmds.c:16644 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "kan inte använda icke-unikt index \"%s\" som replikaidentitet" -#: commands/tablecmds.c:16665 +#: commands/tablecmds.c:16650 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "kan inte använda icke-immediate-index \"%s\" som replikaidentitiet" -#: commands/tablecmds.c:16671 +#: commands/tablecmds.c:16656 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "kan inte använda uttrycksindex \"%s\" som replikaidentitiet" -#: commands/tablecmds.c:16677 +#: commands/tablecmds.c:16662 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "kan inte använda partiellt index \"%s\" som replikaidentitiet" -#: commands/tablecmds.c:16694 +#: commands/tablecmds.c:16679 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "index \"%s\" kan inte användas som replikaidentitet då kolumn %d är en systemkolumn" -#: commands/tablecmds.c:16701 +#: commands/tablecmds.c:16686 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "index \"%s\" kan inte användas som replikaidentitet då kolumn \"%s\" kan vare null" -#: commands/tablecmds.c:16953 +#: commands/tablecmds.c:16938 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "kan inte ändra loggningsstatus för tabell \"%s\" då den är temporär" -#: commands/tablecmds.c:16977 +#: commands/tablecmds.c:16962 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "kan inte ändra tabell \"%s\" till ologgad då den är del av en publicering" -#: commands/tablecmds.c:16979 +#: commands/tablecmds.c:16964 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ologgade relatrioner kan inte replikeras." -#: commands/tablecmds.c:17024 +#: commands/tablecmds.c:17009 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "kunde inte ändra tabell \"%s\" till loggad då den refererar till ologgad tabell \"%s\"" -#: commands/tablecmds.c:17034 +#: commands/tablecmds.c:17019 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "kunde inte ändra tabell \"%s\" till ologgad då den refererar till loggad tabell \"%s\"" -#: commands/tablecmds.c:17092 +#: commands/tablecmds.c:17077 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "kan inte flytta en ägd sekvens till ett annan schema." -#: commands/tablecmds.c:17197 +#: commands/tablecmds.c:17182 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "relationen \"%s\" finns redan i schema \"%s\"" -#: commands/tablecmds.c:17618 +#: commands/tablecmds.c:17603 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" är inte en tabell eller materialiserad vy" -#: commands/tablecmds.c:17771 +#: commands/tablecmds.c:17756 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" är inte en composite-typ" -#: commands/tablecmds.c:17801 +#: commands/tablecmds.c:17786 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "kan inte byta schema på indexet \"%s\"" -#: commands/tablecmds.c:17803 commands/tablecmds.c:17817 +#: commands/tablecmds.c:17788 commands/tablecmds.c:17802 #, c-format msgid "Change the schema of the table instead." msgstr "Byt ägare på tabellen istället." -#: commands/tablecmds.c:17807 +#: commands/tablecmds.c:17792 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "kan inte byta schema på composite-typen \"%s\"." -#: commands/tablecmds.c:17815 +#: commands/tablecmds.c:17800 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "kan inte byta schema på TOAST-tabellen \"%s\"" -#: commands/tablecmds.c:17847 +#: commands/tablecmds.c:17832 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "kan inte använda list-partioneringsstrategi med mer än en kolumn" -#: commands/tablecmds.c:17913 +#: commands/tablecmds.c:17898 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "kolumn \"%s\" angiven i partitioneringsnyckel existerar inte" -#: commands/tablecmds.c:17921 +#: commands/tablecmds.c:17906 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "kan inte använda systemkolumn \"%s\" i partitioneringsnyckel" -#: commands/tablecmds.c:17932 commands/tablecmds.c:18022 +#: commands/tablecmds.c:17917 commands/tablecmds.c:18007 #, c-format msgid "cannot use generated column in partition key" msgstr "kan inte använda genererad kolumn i partitioneringsnyckel" -#: commands/tablecmds.c:17933 commands/tablecmds.c:18023 commands/trigger.c:656 -#: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Kolumnen \"%s\" är en genererad kolumn." - -#: commands/tablecmds.c:18005 +#: commands/tablecmds.c:17990 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "partitioneringsnyckeluttryck kan inte innehålla systemkolumnreferenser" -#: commands/tablecmds.c:18052 +#: commands/tablecmds.c:18037 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "funktioner i partitioneringsuttryck måste vara markerade IMMUTABLE" -#: commands/tablecmds.c:18061 +#: commands/tablecmds.c:18046 #, c-format msgid "cannot use constant expression as partition key" msgstr "kan inte använda konstant uttryck som partitioneringsnyckel" -#: commands/tablecmds.c:18082 +#: commands/tablecmds.c:18067 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "kunde inte lista vilken jämförelse (collation) som skulle användas för partitionsuttryck" -#: commands/tablecmds.c:18117 +#: commands/tablecmds.c:18102 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Du måste ange en hash-operatorklass eller definiera en default hash-operatorklass för datatypen." -#: commands/tablecmds.c:18123 +#: commands/tablecmds.c:18108 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Du måste ange en btree-operatorklass eller definiera en default btree-operatorklass för datatypen." -#: commands/tablecmds.c:18405 +#: commands/tablecmds.c:18359 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" är redan en partition" -#: commands/tablecmds.c:18411 +#: commands/tablecmds.c:18365 #, c-format msgid "cannot attach a typed table as partition" msgstr "kan inte ansluta en typad tabell som partition" -#: commands/tablecmds.c:18427 +#: commands/tablecmds.c:18381 #, c-format msgid "cannot attach inheritance child as partition" msgstr "kan inte ansluta ett arvsbarn som partition" -#: commands/tablecmds.c:18441 +#: commands/tablecmds.c:18395 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "kan inte ansluta en arvsförälder som partition" -#: commands/tablecmds.c:18475 +#: commands/tablecmds.c:18429 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "kan inte ansluta en temporär relation som partition till en permanent relation \"%s\"" -#: commands/tablecmds.c:18483 +#: commands/tablecmds.c:18437 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "kan inte ansluta en permanent relation som partition till en temporär relation \"%s\"" -#: commands/tablecmds.c:18491 +#: commands/tablecmds.c:18445 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "kan inte ansluta en partition från en temporär relation som tillhör en annan session" -#: commands/tablecmds.c:18498 +#: commands/tablecmds.c:18452 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "kan inte ansluta en temporär relation tillhörande en annan session som partition" -#: commands/tablecmds.c:18518 -#, fuzzy, c-format +#: commands/tablecmds.c:18472 +#, c-format msgid "table \"%s\" being attached contains an identity column \"%s\"" -msgstr "tabell \"%s\" har annan typ på kolumn \"%s\"" +msgstr "tabell \"%s\" som ansluts innehåller en identitetskolumn \"%s\"" -#: commands/tablecmds.c:18520 -#, fuzzy, c-format +#: commands/tablecmds.c:18474 +#, c-format msgid "The new partition may not contain an identity column." -msgstr "Den nya partitionen får bara innehålla kolumner som finns i föräldern." +msgstr "Den nya partitionen får inte innehålla en identitetskolumn." -#: commands/tablecmds.c:18528 +#: commands/tablecmds.c:18482 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "tabell \"%s\" innehåller kolumn \"%s\" som inte finns i föräldern \"%s\"" -#: commands/tablecmds.c:18531 +#: commands/tablecmds.c:18485 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Den nya partitionen får bara innehålla kolumner som finns i föräldern." -#: commands/tablecmds.c:18543 +#: commands/tablecmds.c:18497 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "trigger \"%s\" förhindrar att tabell \"%s\" blir en partition" -#: commands/tablecmds.c:18545 +#: commands/tablecmds.c:18499 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "ROW-triggrar med övergångstabeller stöds inte för partitioner." -#: commands/tablecmds.c:18706 +#: commands/tablecmds.c:18675 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "kan inte ansluta främmande tabell \"%s\" som en partition till partitionerad tabell \"%s\"" -#: commands/tablecmds.c:18709 +#: commands/tablecmds.c:18678 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionerad tabell \"%s\" innehåller unika index." -#: commands/tablecmds.c:19031 +#: commands/tablecmds.c:19000 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "kan inte parallellt koppla bort en partitionerad tabell när en default-partition finns" -#: commands/tablecmds.c:19140 +#: commands/tablecmds.c:19109 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionerad tabell \"%s\" togs bort parallellt" -#: commands/tablecmds.c:19146 +#: commands/tablecmds.c:19115 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "partition \"%s\" togs bort parallellt" -#: commands/tablecmds.c:19682 commands/tablecmds.c:19702 -#: commands/tablecmds.c:19723 commands/tablecmds.c:19742 -#: commands/tablecmds.c:19784 +#: commands/tablecmds.c:19651 commands/tablecmds.c:19671 +#: commands/tablecmds.c:19692 commands/tablecmds.c:19711 +#: commands/tablecmds.c:19753 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "kan inte ansluta index \"%s\" som en partition till index \"%s\"" -#: commands/tablecmds.c:19685 +#: commands/tablecmds.c:19654 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Index \"%s\" är redan ansluten till ett annat index." -#: commands/tablecmds.c:19705 +#: commands/tablecmds.c:19674 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Index \"%s\" är inte ett index för någon partition av tabell \"%s\"." -#: commands/tablecmds.c:19726 +#: commands/tablecmds.c:19695 #, c-format msgid "The index definitions do not match." msgstr "Indexdefinitionerna matchar inte." -#: commands/tablecmds.c:19745 +#: commands/tablecmds.c:19714 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Indexet \"%s\" tillhör ett villkor på tabell \"%s\" men det finns inga villkor för indexet \"%s\"." -#: commands/tablecmds.c:19787 +#: commands/tablecmds.c:19756 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Ett annat index är redan anslutet för partition \"%s\"." -#: commands/tablecmds.c:20023 +#: commands/tablecmds.c:19992 #, c-format msgid "column data type %s does not support compression" msgstr "kolumndatatypen %s stöder inte komprimering" -#: commands/tablecmds.c:20030 +#: commands/tablecmds.c:19999 #, c-format msgid "invalid compression method \"%s\"" msgstr "ogiltig komprimeringsmetod \"%s\"" -#: commands/tablecmds.c:20056 +#: commands/tablecmds.c:20025 #, c-format msgid "invalid storage type \"%s\"" msgstr "ogiltig lagringstyp \"%s\"" -#: commands/tablecmds.c:20066 +#: commands/tablecmds.c:20035 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "kolumndatatyp %s kan bara ha lagringsmetod PLAIN" -#: commands/tablecmds.c:20263 -#, fuzzy, c-format -msgid "can not find partition for split partition row" -msgstr "kan inte ärva från en partition" - -#: commands/tablecmds.c:20349 -#, fuzzy, c-format -msgid "cannot create as partition of temporary relation of another session" -msgstr "kan inte ansluta en partition från en temporär relation som tillhör en annan session" - -#: commands/tablecmds.c:20420 -#, fuzzy, c-format -msgid "cannot create a permanent relation as partition of temporary relation \"%s\"" -msgstr "kan inte ansluta en permanent relation som partition till en temporär relation \"%s\"" - #: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" @@ -12789,14 +12724,14 @@ msgid "You can alter type %s, which will alter the array type as well." msgstr "Du kan ändra typen %s vilket också kommer ändra array-typen." #: commands/typecmds.c:3892 -#, fuzzy, c-format +#, c-format msgid "cannot alter multirange type %s" -msgstr "kan inte ändra arraytyp %s" +msgstr "kan inte ändra multirange-typ %s" #: commands/typecmds.c:3895 -#, fuzzy, c-format +#, c-format msgid "You can alter type %s, which will alter the multirange type as well." -msgstr "Du kan ändra typen %s vilket också kommer ändra array-typen." +msgstr "Du kan ändra typen %s vilket också kommer ändra multirange-typen." #: commands/typecmds.c:4202 #, c-format @@ -12845,8 +12780,8 @@ msgstr "Bara roller med attributet %s får skapa roller." msgid "Only roles with the %s attribute may create roles with the %s attribute." msgstr "Bara roller med attributet %s får skapa roller med attributet %s." -#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17355 -#: gram.y:17401 utils/adt/acl.c:5574 utils/adt/acl.c:5580 +#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17303 +#: gram.y:17349 utils/adt/acl.c:5574 utils/adt/acl.c:5580 #, c-format msgid "role name \"%s\" is reserved" msgstr "rollnamnet \"%s\" är reserverat" @@ -13008,7 +12943,7 @@ msgstr "Bara roller med attributet %s och med flaggan %s på rollen \"%s\" får msgid "MD5 password cleared because of role rename" msgstr "MD5-lösenord nollställt på grund av omdöpning av roll" -#: commands/user.c:1518 gram.y:1297 +#: commands/user.c:1518 gram.y:1294 #, c-format msgid "unrecognized role option \"%s\"" msgstr "okänd rollflagga \"%s\"" @@ -13365,7 +13300,7 @@ msgstr "SET TRANSACTION ISOLATION LEVEL måste anropas innan någon fråga" #: commands/variable.c:599 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" -msgstr "SET TRANSACTION ISOLATION LEVEL får inte anropas i en subtransaktion" +msgstr "SET TRANSACTION ISOLATION LEVEL får inte anropas i en undertransaktion" #: commands/variable.c:606 storage/lmgr/predicate.c:1680 #, c-format @@ -13380,7 +13315,7 @@ msgstr "Du kan använda REPEATABLE READ istället." #: commands/variable.c:625 #, c-format msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction" -msgstr "SET TRANSACTION [NOT] DEFERRABLE får inte anropas i en subtransaktion" +msgstr "SET TRANSACTION [NOT] DEFERRABLE får inte anropas i en undertransaktion" #: commands/variable.c:631 #, c-format @@ -13539,8 +13474,8 @@ msgid "no value found for parameter %d" msgstr "hittade inget värde för parameter %d" #: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 -#: executor/execExprInterp.c:4834 executor/execExprInterp.c:4851 -#: executor/execExprInterp.c:4950 executor/nodeModifyTable.c:203 +#: executor/execExprInterp.c:4838 executor/execExprInterp.c:4855 +#: executor/execExprInterp.c:4954 executor/nodeModifyTable.c:203 #: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 #: executor/nodeModifyTable.c:239 #, c-format @@ -13557,7 +13492,7 @@ msgstr "Fråga har för många kolumner." msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "Fråga levererar ett värde för en borttagen kolumn vid position %d." -#: executor/execExpr.c:656 executor/execExprInterp.c:4852 +#: executor/execExpr.c:656 executor/execExprInterp.c:4856 #: executor/nodeModifyTable.c:215 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." @@ -13694,24 +13629,20 @@ msgstr "ingen SQL/JSON-post hittades i angiven sökväg för kolumn \"%s\"" msgid "no SQL/JSON item found for specified path" msgstr "ingen SQL/JSON-post hittades i angiven sökväg" -#: executor/execExprInterp.c:4637 -#, c-format -msgid "could not coerce ON ERROR expression (%s) to the RETURNING type" -msgstr "kunde inte omvandla ON ERROR-uttryck (%s) till typen för RETURNING" - -#: executor/execExprInterp.c:4643 +#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR) +#: executor/execExprInterp.c:4638 executor/execExprInterp.c:4646 #, c-format -msgid "could not coerce ON EMPTY expression (%s) to the RETURNING type" -msgstr "kunde inte omvandla ON EMPTY-uttryck (%s) till typen för RETURNING" +msgid "could not coerce %s expression (%s) to the RETURNING type" +msgstr "kunde inte omvandla %s-uttryck (%s) till typen för RETURNING" -#: executor/execExprInterp.c:4835 +#: executor/execExprInterp.c:4839 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." msgstr[0] "Tabellrad har %d attribut, men frågan förväntar sig %d." msgstr[1] "Tabellrad har %d attribut, men frågan förväntar sig %d." -#: executor/execExprInterp.c:4951 executor/execSRF.c:977 +#: executor/execExprInterp.c:4955 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "Fysisk lagrings matchar inte för borttaget attribut på position %d." @@ -14052,7 +13983,7 @@ msgid "%s is not allowed in an SQL function" msgstr "%s är inte tillåtet i en SQL-funktion" #. translator: %s is a SQL statement name -#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2649 +#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2651 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s tillåts inte i en icke-volatile-funktion" @@ -14300,12 +14231,12 @@ msgstr "ogiltig transaktionsavslutning" #: executor/spi.c:256 #, c-format msgid "cannot commit while a subtransaction is active" -msgstr "kan inte commit:a när en subtransaktion är aktiv" +msgstr "kan inte commit:a när en undertransaktion är aktiv" #: executor/spi.c:347 #, c-format msgid "cannot roll back while a subtransaction is active" -msgstr "kan inte rulla tillbaka när en subtransaktion är aktiv" +msgstr "kan inte rulla tillbaka när en undertransaktion är aktiv" #: executor/spi.c:471 #, c-format @@ -14343,28 +14274,28 @@ msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE stöds inte" msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbara markörer måste vara READ ONLY." -#: executor/spi.c:2488 +#: executor/spi.c:2490 #, c-format msgid "empty query does not return tuples" msgstr "en tom fråga returnerar inga tupler" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2562 +#: executor/spi.c:2564 #, c-format msgid "%s query does not return tuples" msgstr "%s-fråga returnerar inga tupler" -#: executor/spi.c:2979 +#: executor/spi.c:2981 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-uttryck \"%s\"" -#: executor/spi.c:2984 +#: executor/spi.c:2986 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL-tilldelning \"%s\"" -#: executor/spi.c:2987 +#: executor/spi.c:2989 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-sats: \"%s\"" @@ -14374,414 +14305,420 @@ msgstr "SQL-sats: \"%s\"" msgid "could not send tuple to shared-memory queue" msgstr "kunde inte skicka tupel till kö i delat minne: %m" -#: foreign/foreign.c:224 +#: foreign/foreign.c:225 #, c-format msgid "user mapping not found for user \"%s\", server \"%s\"" msgstr "användarmappning hittades inte för användare \"%s\", server \"%s\"" -#: foreign/foreign.c:650 +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153 +#: optimizer/util/plancat.c:540 +#, c-format +msgid "access to non-system foreign table is restricted" +msgstr "access till icke-system främmande tabell är begränsad" + +#: foreign/foreign.c:660 #, c-format msgid "invalid option \"%s\"" msgstr "ogiltig flagga \"%s\"" -#: foreign/foreign.c:652 +#: foreign/foreign.c:662 #, c-format msgid "Perhaps you meant the option \"%s\"." msgstr "Kanske menade du flaggan \"%s\"." -#: foreign/foreign.c:654 +#: foreign/foreign.c:664 #, c-format msgid "There are no valid options in this context." msgstr "Det finns inga giltiga flaggor i detta kontext." -#: gram.y:1234 +#: gram.y:1231 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD stöds inte längre" -#: gram.y:1235 +#: gram.y:1232 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "Ta bort UNENCRYPTED för att lagra lösenord i krypterad form istället." -#: gram.y:1562 gram.y:1578 +#: gram.y:1559 gram.y:1575 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS kan inte innehålla schemaelement" -#: gram.y:1730 +#: gram.y:1727 #, c-format msgid "current database cannot be changed" msgstr "nuvarande databas kan inte ändras" -#: gram.y:1863 +#: gram.y:1860 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "tidszoneintervall måste vara HOUR eller HOUR TO MINUTE" -#: gram.y:2539 +#: gram.y:2487 #, c-format msgid "column number must be in range from 1 to %d" msgstr "kolumnnummer måste vara i intervallet 1 till %d." -#: gram.y:3135 +#: gram.y:3083 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "sekvensflagga \"%s\" stöds inte här" -#: gram.y:3174 +#: gram.y:3122 #, c-format msgid "modulus for hash partition provided more than once" msgstr "modulo för hash-partition angiven mer än en gång" -#: gram.y:3183 +#: gram.y:3131 #, c-format msgid "remainder for hash partition provided more than once" msgstr "rest för hash-partition angiven mer än en gång" -#: gram.y:3190 +#: gram.y:3138 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "okänd gränsangivelse \"%s\" för hash-partition" -#: gram.y:3198 +#: gram.y:3146 #, c-format msgid "modulus for hash partition must be specified" msgstr "modulo för hashpartition måste anges" -#: gram.y:3202 +#: gram.y:3150 #, c-format msgid "remainder for hash partition must be specified" msgstr "rest för hash-partition måste anges" -#: gram.y:3410 gram.y:3444 +#: gram.y:3358 gram.y:3392 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT tillåts inte med PROGRAM" -#: gram.y:3416 +#: gram.y:3364 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "WHERE-klausul tillåts inte med COPY TO" -#: gram.y:3764 gram.y:3771 gram.y:13068 gram.y:13076 +#: gram.y:3712 gram.y:3719 gram.y:13016 gram.y:13024 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL när man skapar temporära tabeller är på utgående och kommer tas bort" -#: gram.y:4047 +#: gram.y:3995 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "för en genererad kolumn så måste GENERATED ALWAYS anges" -#: gram.y:4392 utils/adt/ri_triggers.c:2103 +#: gram.y:4340 utils/adt/ri_triggers.c:2103 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL är inte implementerat ännu" -#: gram.y:4484 +#: gram.y:4432 #, c-format msgid "a column list with %s is only supported for ON DELETE actions" msgstr "en kolumnlista med %s stöds bara vi ON DELETE-aktioner" -#: gram.y:5196 +#: gram.y:5144 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION .. FROM stöds inte längre" -#: gram.y:5894 +#: gram.y:5842 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "okänd radsäkerhetsflagga \"%s\"" -#: gram.y:5895 +#: gram.y:5843 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "Bara policys PERMISSIVE och RESTRICTIVE stöds för tillfället." -#: gram.y:5980 +#: gram.y:5928 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER stöds inte" -#: gram.y:6017 +#: gram.y:5965 msgid "duplicate trigger events specified" msgstr "multipla triggerhändelser angivna" -#: gram.y:6159 parser/parse_utilcmd.c:3839 parser/parse_utilcmd.c:3865 +#: gram.y:6107 parser/parse_utilcmd.c:3664 parser/parse_utilcmd.c:3690 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "villkor deklarerat INITIALLY DEFERRED måste vara DEFERRABLE" -#: gram.y:6166 +#: gram.y:6114 #, c-format msgid "conflicting constraint properties" msgstr "motstridiga vilkorsegenskaper" -#: gram.y:6265 +#: gram.y:6213 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION är inte implementerat ännu" -#: gram.y:6582 +#: gram.y:6530 #, c-format msgid "dropping an enum value is not implemented" msgstr "slänga ett enum-värde är inte implementerat" -#: gram.y:6700 +#: gram.y:6648 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK krävs inte längre" -#: gram.y:6701 +#: gram.y:6649 #, c-format msgid "Update your data type." msgstr "Uppdatera din datatyp" -#: gram.y:8574 +#: gram.y:8522 #, c-format msgid "aggregates cannot have output arguments" msgstr "aggregat kan inte ha utdataargument" -#: gram.y:9037 utils/adt/regproc.c:670 +#: gram.y:8985 utils/adt/regproc.c:670 #, c-format msgid "missing argument" msgstr "argument saknas" -#: gram.y:9038 utils/adt/regproc.c:671 +#: gram.y:8986 utils/adt/regproc.c:671 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Använd NONE för att markera det saknade argumentet för en unär operator." -#: gram.y:11266 gram.y:11285 +#: gram.y:11214 gram.y:11233 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION stöds inte för rekursiva vyer" -#: gram.y:13207 +#: gram.y:13155 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "LIMIT #,#-syntax stöds inte" -#: gram.y:13208 +#: gram.y:13156 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Använd separata klausuler LIMIT och OFFSET." -#: gram.y:14083 +#: gram.y:14031 #, c-format msgid "only one DEFAULT value is allowed" msgstr "bara ett DEFAULT-värde tillåts" -#: gram.y:14092 +#: gram.y:14040 #, c-format msgid "only one PATH value per column is allowed" msgstr "bara ett PATH-värde per kolumn tillåts" -#: gram.y:14101 +#: gram.y:14049 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "motstridiga eller överflödiga NULL / NOT NULL-deklarationer för kolumnen \"%s\"" -#: gram.y:14110 +#: gram.y:14058 #, c-format msgid "unrecognized column option \"%s\"" msgstr "okänd kolumnflagga \"%s\"" -#: gram.y:14192 -#, fuzzy, c-format +#: gram.y:14140 +#, c-format msgid "only string constants are supported in JSON_TABLE path specification" -msgstr "uteslutningsvillkor stöds inte för partitionerade tabeller" +msgstr "enbart strängkonstanter stöds i angiven sökväg för JSON_TABLE" -#: gram.y:14514 +#: gram.y:14462 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "precisionen för typen float måste vara minst 1 bit" -#: gram.y:14523 +#: gram.y:14471 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "precisionen för typen float måste vara mindre än 54 bits" -#: gram.y:15040 +#: gram.y:14988 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "fel antal parametrar på vänster sida om OVERLAPS-uttryck" -#: gram.y:15045 +#: gram.y:14993 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "fel antal parametrar på höger sida om OVERLAPS-uttryck" -#: gram.y:15222 +#: gram.y:15170 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "UNIQUE-predikat är inte implementerat ännu" -#: gram.y:15636 +#: gram.y:15584 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "kan inte ha multipla ORDER BY-klausuler med WITHIN GROUP" -#: gram.y:15641 +#: gram.y:15589 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "kan inte använda DISTINCT med WITHIN GROUP" -#: gram.y:15646 +#: gram.y:15594 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "kan inte använda VARIADIC med WITHIN GROUP" -#: gram.y:16373 gram.y:16397 +#: gram.y:16321 gram.y:16345 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "fönsterramstart kan inte vara UNBOUNDED FOLLOWING" -#: gram.y:16378 +#: gram.y:16326 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "fönsterram som startar på efterföljande rad kan inte sluta på nuvarande rad" -#: gram.y:16402 +#: gram.y:16350 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "fönsterramslut kan inte vara UNBOUNDED PRECEDING" -#: gram.y:16408 +#: gram.y:16356 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "fönsterram som startar på aktuell rad kan inte ha föregående rader" -#: gram.y:16415 +#: gram.y:16363 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "fönsterram som startar på efterföljande rad kan inte ha föregående rader" -#: gram.y:16964 +#: gram.y:16912 #, c-format msgid "unrecognized JSON encoding: %s" msgstr "okänd JSON-kodning: %s" -#: gram.y:17288 +#: gram.y:17236 #, c-format msgid "type modifier cannot have parameter name" msgstr "typmodifierare kan inte ha paremeternamn" -#: gram.y:17294 +#: gram.y:17242 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "typmodifierare kan inte ha ORDER BY" -#: gram.y:17362 gram.y:17369 gram.y:17376 +#: gram.y:17310 gram.y:17317 gram.y:17324 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s kan inte användas som ett rollnamn här" -#: gram.y:17466 gram.y:18955 +#: gram.y:17414 gram.y:18899 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIES kan inte anges utan en ORDER BY-klausul" -#: gram.y:18646 gram.y:18821 +#: gram.y:18590 gram.y:18765 msgid "improper use of \"*\"" msgstr "felaktig användning av \"*\"" -#: gram.y:18784 gram.y:18801 tsearch/spell.c:963 tsearch/spell.c:980 +#: gram.y:18728 gram.y:18745 tsearch/spell.c:963 tsearch/spell.c:980 #: tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079 #, c-format msgid "syntax error" msgstr "syntaxfel" -#: gram.y:18885 +#: gram.y:18829 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "ett sorterad-mängd-aggregat med ett direkt VARIADIC-argument måste ha ett aggregerat VARIADIC-argument av samma datatype" -#: gram.y:18922 +#: gram.y:18866 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "multipla ORDER BY-klausuler tillåts inte" -#: gram.y:18933 +#: gram.y:18877 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "multipla OFFSET-klausuler tillåts inte" -#: gram.y:18942 +#: gram.y:18886 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "multipla LIMIT-klausuler tillåts inte" -#: gram.y:18951 +#: gram.y:18895 #, c-format msgid "multiple limit options not allowed" msgstr "multipla limit-alternativ tillåts inte" -#: gram.y:18978 +#: gram.y:18922 #, c-format msgid "multiple WITH clauses not allowed" msgstr "multipla WITH-klausuler tillåts inte" -#: gram.y:19171 +#: gram.y:19115 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "OUT och INOUT-argument tillåts inte i TABLE-funktioner" -#: gram.y:19304 +#: gram.y:19248 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "multipla COLLATE-klausuler tillåts inte" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19342 gram.y:19355 +#: gram.y:19286 gram.y:19299 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "%s-villkor kan inte markeras DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19368 +#: gram.y:19312 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "%s-villkor kan inte markeras NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19381 +#: gram.y:19325 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "%s-villkor kan inte markeras NO INHERIT" -#: gram.y:19403 +#: gram.y:19347 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "okänd partitioneringsstrategi \"%s\"" -#: gram.y:19427 +#: gram.y:19371 #, c-format msgid "invalid publication object list" msgstr "ogiltig objektlista för publicering" -#: gram.y:19428 +#: gram.y:19372 #, c-format msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." msgstr "En av TABLE eller ALL TABLES IN SCHEMA måste anges innan en enskild tabell eller ett schemanamn." -#: gram.y:19444 +#: gram.y:19388 #, c-format msgid "invalid table name" msgstr "ogiltigt tabellnamn" -#: gram.y:19465 +#: gram.y:19409 #, c-format msgid "WHERE clause not allowed for schema" msgstr "WHERE-klausul tillåts inte för schema" -#: gram.y:19472 +#: gram.y:19416 #, c-format msgid "column specification not allowed for schema" msgstr "kolumnspecifikation tillåts inte för schema" -#: gram.y:19486 +#: gram.y:19430 #, c-format msgid "invalid schema name" msgstr "ogiltigt schemanamn" @@ -15801,171 +15738,171 @@ msgstr "kunde inte sätta SSL-protokollversionsintervall" msgid "\"%s\" cannot be higher than \"%s\"" msgstr "\"%s\" får inte vara högre än \"%s\"" -#: libpq/be-secure-openssl.c:308 +#: libpq/be-secure-openssl.c:307 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "kunde inte sätta kryptolistan (inga giltiga krypton är tillgängliga)" -#: libpq/be-secure-openssl.c:328 +#: libpq/be-secure-openssl.c:327 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "kunde inte ladda root-certifikatfilen \"%s\": %s" -#: libpq/be-secure-openssl.c:377 +#: libpq/be-secure-openssl.c:376 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "kunde inte ladda fil \"%s\" med certifikatåterkallningslista för SSL: %s" -#: libpq/be-secure-openssl.c:385 +#: libpq/be-secure-openssl.c:384 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "kunde inte ladda katalog \"%s\" för certifikatåterkallning: %s" -#: libpq/be-secure-openssl.c:393 +#: libpq/be-secure-openssl.c:392 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "kunde inte ladda fil \"%s\" eller katalog \"%s\" med certifikatåterkallning för SSL: %s" -#: libpq/be-secure-openssl.c:451 +#: libpq/be-secure-openssl.c:450 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "kunde inte initiera SSL-uppkoppling: SSL-kontex ej uppsatt" -#: libpq/be-secure-openssl.c:465 +#: libpq/be-secure-openssl.c:464 #, c-format msgid "could not initialize SSL connection: %s" msgstr "kunde inte initiera SSL-uppkoppling: %s" -#: libpq/be-secure-openssl.c:473 +#: libpq/be-secure-openssl.c:472 #, c-format msgid "could not set SSL socket: %s" msgstr "kunde inte sätta SSL-uttag (socket): %s" -#: libpq/be-secure-openssl.c:529 +#: libpq/be-secure-openssl.c:528 #, c-format msgid "could not accept SSL connection: %m" msgstr "kunde inte acceptera SSL-uppkoppling: %m" -#: libpq/be-secure-openssl.c:533 libpq/be-secure-openssl.c:590 +#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "kunde inte starta SSL-anslutning: hittade EOF" -#: libpq/be-secure-openssl.c:574 +#: libpq/be-secure-openssl.c:573 #, c-format msgid "could not accept SSL connection: %s" msgstr "kunde inte acceptera SSL-uppkoppling: %s" -#: libpq/be-secure-openssl.c:578 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Detta kan tyda på att servern inte stöder någon SSL-protokolversion mellan %s och %s." -#: libpq/be-secure-openssl.c:595 libpq/be-secure-openssl.c:810 -#: libpq/be-secure-openssl.c:880 +#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809 +#: libpq/be-secure-openssl.c:879 #, c-format msgid "unrecognized SSL error code: %d" msgstr "okänd SSL-felkod: %d" -#: libpq/be-secure-openssl.c:623 -#, fuzzy, c-format +#: libpq/be-secure-openssl.c:622 +#, c-format msgid "received SSL connection request with unexpected ALPN protocol" -msgstr "SSL-anslutning har upprättats med oväntat ALPN-protokoll" +msgstr "tog emot anslutningsförfrågan för SSL med oväntat ALPN-protokoll" -#: libpq/be-secure-openssl.c:667 +#: libpq/be-secure-openssl.c:666 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "SSL-certifikatets \"comman name\" innehåller null-värden" -#: libpq/be-secure-openssl.c:713 +#: libpq/be-secure-openssl.c:712 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "SSL-certifikatets utskiljande namn innehåller null-värden" -#: libpq/be-secure-openssl.c:799 libpq/be-secure-openssl.c:864 +#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863 #, c-format msgid "SSL error: %s" msgstr "SSL-fel: %s" -#: libpq/be-secure-openssl.c:1039 +#: libpq/be-secure-openssl.c:1038 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "kunde inte öppna DH-parameterfil \"%s\": %m" -#: libpq/be-secure-openssl.c:1051 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not load DH parameters file: %s" msgstr "kunde inte ladda DH-parameterfil: %s" -#: libpq/be-secure-openssl.c:1061 +#: libpq/be-secure-openssl.c:1060 #, c-format msgid "invalid DH parameters: %s" msgstr "ogiltiga DH-parametrar: %s" -#: libpq/be-secure-openssl.c:1070 +#: libpq/be-secure-openssl.c:1069 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "ogiltiga DH-parametrar: p är inte ett primtal" -#: libpq/be-secure-openssl.c:1079 +#: libpq/be-secure-openssl.c:1078 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "ogiltiga DH-parametrar: varken lämplig generator eller säkert primtal" -#: libpq/be-secure-openssl.c:1215 +#: libpq/be-secure-openssl.c:1214 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "Klientcertifikat-autentisering misslyckades vid djupet %d: %s." -#: libpq/be-secure-openssl.c:1252 +#: libpq/be-secure-openssl.c:1251 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." msgstr "Felaktig certifikatdata (ej verifierad): ämne \"%s\", serienummer %s, utställare \"%s\"." -#: libpq/be-secure-openssl.c:1253 +#: libpq/be-secure-openssl.c:1252 msgid "unknown" msgstr "okänd" -#: libpq/be-secure-openssl.c:1390 +#: libpq/be-secure-openssl.c:1389 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: kunde inte ladda DH-parametrar" -#: libpq/be-secure-openssl.c:1398 +#: libpq/be-secure-openssl.c:1397 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: kunde inte sätta DH-parametrar: %s" -#: libpq/be-secure-openssl.c:1425 +#: libpq/be-secure-openssl.c:1424 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: okänt kurvnamn: %s" -#: libpq/be-secure-openssl.c:1434 +#: libpq/be-secure-openssl.c:1433 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: kunde inte skapa nyckel" -#: libpq/be-secure-openssl.c:1462 +#: libpq/be-secure-openssl.c:1461 msgid "no SSL error reported" msgstr "inget SSL-fel rapporterat" -#: libpq/be-secure-openssl.c:1480 +#: libpq/be-secure-openssl.c:1479 #, c-format msgid "SSL error code %lu" msgstr "SSL-felkod %lu" -#: libpq/be-secure-openssl.c:1637 +#: libpq/be-secure-openssl.c:1636 #, c-format msgid "could not create BIO" msgstr "kunde inte skapa BIO" -#: libpq/be-secure-openssl.c:1647 +#: libpq/be-secure-openssl.c:1646 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "kunde inte hämta NID för ASN1_OBJECT-objekt" -#: libpq/be-secure-openssl.c:1655 +#: libpq/be-secure-openssl.c:1654 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "kunde inte konvertera NID %d till en ASN1_OBJECT-struktur" @@ -16486,7 +16423,7 @@ msgstr "det finns ingen klientanslutning" msgid "could not receive data from client: %m" msgstr "kunde inte ta emot data från klient: %m" -#: libpq/pqcomm.c:1149 tcop/postgres.c:4445 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4509 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "stänger anslutning då protokollsynkroniseringen tappades" @@ -16846,7 +16783,7 @@ msgstr "relationen \"%s\" har ingen composite-typ" #: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2111 parser/parse_func.c:710 parser/parse_oper.c:869 +#: parser/parse_expr.c:2112 parser/parse_func.c:710 parser/parse_oper.c:869 #: utils/fmgr/funcapi.c:669 #, c-format msgid "could not find array type for data type %s" @@ -16867,8 +16804,8 @@ msgstr "ej namngiven portal med parametrar: %s" msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN stöds bara med villkor som är merge-joinbara eller hash-joinbara" -#: optimizer/plan/createplan.c:7162 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1695 +#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "kan inte utföra MERGE på relation \"%s\"" @@ -16943,27 +16880,27 @@ msgstr "kunde inte implementera %s" msgid "SQL function \"%s\" during inlining" msgstr "SQL-funktion \"%s\" vid inline:ing" -#: optimizer/util/plancat.c:152 +#: optimizer/util/plancat.c:153 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "kan inte accessa temporära eller ologgade relationer under återställning" -#: optimizer/util/plancat.c:756 +#: optimizer/util/plancat.c:768 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "inferens av unikt index för hel rad stöds inte" -#: optimizer/util/plancat.c:773 +#: optimizer/util/plancat.c:785 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "villkor för ON CONFLICT-klausul har inget associerat index" -#: optimizer/util/plancat.c:823 +#: optimizer/util/plancat.c:835 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE stöds inte med uteslutningsvillkor" -#: optimizer/util/plancat.c:933 +#: optimizer/util/plancat.c:945 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "finns inget unik eller uteslutningsvillkor som matchar ON CONFLICT-specifikationen" @@ -17030,9 +16967,9 @@ msgid "each %s query must have the same number of columns" msgstr "varje %s-fråga måste ha samma antal kolumner" #: parser/analyze.c:2535 -#, fuzzy, c-format +#, c-format msgid "SET target columns cannot be qualified with the relation name." -msgstr "systemkolumner kan inte användas i främmande nycklar" +msgstr "målkolumner för SET kan inte kvalifiiceras med ett relationsnamn." #: parser/analyze.c:2589 #, c-format @@ -17393,7 +17330,7 @@ msgstr "yttre aggregat kan inte innehålla inre variabel i sitt direkta argument msgid "aggregate function calls cannot contain set-returning function calls" msgstr "aggregatfunktionsanrop kan inte innehålla mängdreturnerande funktionsanrop" -#: parser/parse_agg.c:782 parser/parse_expr.c:1761 parser/parse_expr.c:2244 +#: parser/parse_agg.c:782 parser/parse_expr.c:1762 parser/parse_expr.c:2245 #: parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." @@ -17562,7 +17499,7 @@ msgstr "WITH ORDINALITY kan inte användas tillsammans med en kolumndefinitionsl msgid "Put the column definition list inside ROWS FROM()." msgstr "Placera kolumndefinitionslistan inne i ROWS FROM()." -#: parser/parse_clause.c:762 +#: parser/parse_clause.c:762 parser/parse_jsontable.c:295 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "bara en FOR ORDINALITY-kolumn tillåts" @@ -17790,8 +17727,8 @@ msgstr "Typomvandla offset-värdet till exakt den önskade typen." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2145 parser/parse_expr.c:2753 parser/parse_expr.c:3402 -#: parser/parse_expr.c:3631 parser/parse_target.c:998 +#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405 +#: parser/parse_expr.c:3634 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "kan inte omvandla typ %s till %s" @@ -18183,367 +18120,346 @@ msgstr "kolumnreferens \"%s\" är tvetydig" msgid "there is no parameter $%d" msgstr "det finns ingen parameter $%d" -#: parser/parse_expr.c:1102 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1103 parser/parse_expr.c:3065 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "NULLIF kräver att =-operatorn returnerar boolean" +msgid "%s requires = operator to yield boolean" +msgstr "%s kräver att operatorn = returnerar boolean" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1108 parser/parse_expr.c:3069 +#: parser/parse_expr.c:1109 parser/parse_expr.c:3072 #, c-format msgid "%s must not return a set" msgstr "%s får inte returnera en mängd" -#: parser/parse_expr.c:1394 +#: parser/parse_expr.c:1395 #, c-format msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" msgstr "MERGE_ACTION() kan bara användas i RETURNING-listan för ett MERGE-kommando" -#: parser/parse_expr.c:1518 parser/parse_expr.c:1550 +#: parser/parse_expr.c:1519 parser/parse_expr.c:1551 #, c-format msgid "number of columns does not match number of values" msgstr "antalet kolumner matchar inte antalet värden" -#: parser/parse_expr.c:1564 +#: parser/parse_expr.c:1565 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "källa till en multiple-kolumn-UPDATE-post måste vara en sub-SELECT eller ROW()-uttryck" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1759 parser/parse_expr.c:2242 parser/parse_func.c:2679 +#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "mängdreturnerande funktioner tillåts inte i %s" -#: parser/parse_expr.c:1823 +#: parser/parse_expr.c:1824 msgid "cannot use subquery in check constraint" msgstr "kan inte använda subfråga i check-villkor" -#: parser/parse_expr.c:1827 +#: parser/parse_expr.c:1828 msgid "cannot use subquery in DEFAULT expression" msgstr "kan inte använda underfråga i DEFAULT-uttryck" -#: parser/parse_expr.c:1830 +#: parser/parse_expr.c:1831 msgid "cannot use subquery in index expression" msgstr "kan inte använda subfråga i indexuttryck" -#: parser/parse_expr.c:1833 +#: parser/parse_expr.c:1834 msgid "cannot use subquery in index predicate" msgstr "kan inte använda subfråga i indexpredikat" -#: parser/parse_expr.c:1836 +#: parser/parse_expr.c:1837 msgid "cannot use subquery in statistics expression" msgstr "kan inte använda underfråga i statistikuttryck" -#: parser/parse_expr.c:1839 +#: parser/parse_expr.c:1840 msgid "cannot use subquery in transform expression" msgstr "kan inte använda underfråga i transformeringsuttrycket" -#: parser/parse_expr.c:1842 +#: parser/parse_expr.c:1843 msgid "cannot use subquery in EXECUTE parameter" msgstr "kan inte använda subfråga i EXECUTE-parameter" -#: parser/parse_expr.c:1845 +#: parser/parse_expr.c:1846 msgid "cannot use subquery in trigger WHEN condition" msgstr "kan inte använda subfråga i triggerns WHEN-villkor" -#: parser/parse_expr.c:1848 +#: parser/parse_expr.c:1849 msgid "cannot use subquery in partition bound" msgstr "kan inte använda underfråga i partitionsgräns" -#: parser/parse_expr.c:1851 +#: parser/parse_expr.c:1852 msgid "cannot use subquery in partition key expression" msgstr "kan inte använda underfråga i partitionsnyckeluttryck" -#: parser/parse_expr.c:1854 +#: parser/parse_expr.c:1855 msgid "cannot use subquery in CALL argument" msgstr "kan inte använda subfråga i CALL-argument" -#: parser/parse_expr.c:1857 +#: parser/parse_expr.c:1858 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "kan inte använda subfråga i COPY FROM WHERE-villkor" -#: parser/parse_expr.c:1860 +#: parser/parse_expr.c:1861 msgid "cannot use subquery in column generation expression" msgstr "kan inte använda subfråga i kolumngenereringsuttryck" -#: parser/parse_expr.c:1913 parser/parse_expr.c:3761 +#: parser/parse_expr.c:1914 parser/parse_expr.c:3764 #, c-format msgid "subquery must return only one column" msgstr "underfråga kan bara returnera en kolumn" -#: parser/parse_expr.c:1984 +#: parser/parse_expr.c:1985 #, c-format msgid "subquery has too many columns" msgstr "underfråga har för många kolumner" -#: parser/parse_expr.c:1989 +#: parser/parse_expr.c:1990 #, c-format msgid "subquery has too few columns" msgstr "underfråga har för få kolumner" -#: parser/parse_expr.c:2085 +#: parser/parse_expr.c:2086 #, c-format msgid "cannot determine type of empty array" msgstr "kan inte bestämma typen av en tom array" -#: parser/parse_expr.c:2086 +#: parser/parse_expr.c:2087 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Typomvandla explicit till den önskade typen, till exempel ARRAY[]::integer[]." -#: parser/parse_expr.c:2100 +#: parser/parse_expr.c:2101 #, c-format msgid "could not find element type for data type %s" msgstr "kunde inte hitta elementtyp för datatyp %s" -#: parser/parse_expr.c:2183 +#: parser/parse_expr.c:2184 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW-uttryck kan ha som mest %d poster" -#: parser/parse_expr.c:2388 +#: parser/parse_expr.c:2389 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "onamnat XML-attributvärde måste vara en kolumnreferens" -#: parser/parse_expr.c:2389 +#: parser/parse_expr.c:2390 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "onamnat XML-elementvärde måste vara en kolumnreferens" -#: parser/parse_expr.c:2404 +#: parser/parse_expr.c:2405 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "XML-attributnamn \"%s\" finns med mer än en gång" -#: parser/parse_expr.c:2512 +#: parser/parse_expr.c:2513 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "kan inte typomvandla XMLSERIALIZE-resultat till %s" -#: parser/parse_expr.c:2826 parser/parse_expr.c:3022 +#: parser/parse_expr.c:2827 parser/parse_expr.c:3023 #, c-format msgid "unequal number of entries in row expressions" msgstr "olika antal element i raduttryck" -#: parser/parse_expr.c:2836 +#: parser/parse_expr.c:2837 #, c-format msgid "cannot compare rows of zero length" msgstr "kan inte jämföra rader med längden noll" -#: parser/parse_expr.c:2861 +#: parser/parse_expr.c:2862 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "operator för radjämförelse måste resultera i typen boolean, inte %s" -#: parser/parse_expr.c:2868 +#: parser/parse_expr.c:2869 #, c-format msgid "row comparison operator must not return a set" msgstr "radjämförelseoperator får inte returnera en mängd" -#: parser/parse_expr.c:2927 parser/parse_expr.c:2968 +#: parser/parse_expr.c:2928 parser/parse_expr.c:2969 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "kunde inte lista ut tolkning av radjämförelseoperator %s" -#: parser/parse_expr.c:2929 +#: parser/parse_expr.c:2930 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Radjämförelseoperatorer måste vara associerade med btreee-operatorfamiljer." -#: parser/parse_expr.c:2970 +#: parser/parse_expr.c:2971 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Det finns flera lika sannolika kandidater." -#: parser/parse_expr.c:3063 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROM kräver att operatorn = ger tillbaka en boolean" - -#: parser/parse_expr.c:3303 +#: parser/parse_expr.c:3306 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "JSON ENCODING tillåts bara för input-typen bytea" -#: parser/parse_expr.c:3367 +#: parser/parse_expr.c:3370 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "kan inte använda icke-strängtyper med implicit FORMAT JSON-klausul" -#: parser/parse_expr.c:3368 +#: parser/parse_expr.c:3371 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "kan inte använda icke-strängtyper med explicit FORMAT JSON-klausul" -#: parser/parse_expr.c:3457 +#: parser/parse_expr.c:3460 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "kan inte använda JSON-formatet för utddata som inte är strängar" -#: parser/parse_expr.c:3470 +#: parser/parse_expr.c:3473 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "kan inte sätta JSON-kodning för utdata-typer som inte är bytea" -#: parser/parse_expr.c:3475 +#: parser/parse_expr.c:3478 #, c-format msgid "unsupported JSON encoding" msgstr "ej stödd JSON-kodning" -#: parser/parse_expr.c:3476 +#: parser/parse_expr.c:3479 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Enbart JSON-kodningen UTF8 stöds." -#: parser/parse_expr.c:3513 +#: parser/parse_expr.c:3516 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "returtyp SETOF stöds inte för SQL/JSON-funktioner" -#: parser/parse_expr.c:3518 -#, fuzzy, c-format +#: parser/parse_expr.c:3521 +#, c-format msgid "returning pseudo-types is not supported in SQL/JSON functions" -msgstr "returtyp SETOF stöds inte för SQL/JSON-funktioner" +msgstr "pseudo-typer stöds inte som resultat för SQL/JSON-funktioner" -#: parser/parse_expr.c:3846 parser/parse_func.c:866 +#: parser/parse_expr.c:3849 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "aggregat-ORDER BY är inte implementerat för fönsterfunktioner" -#: parser/parse_expr.c:4069 +#: parser/parse_expr.c:4072 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "kan inte använda JSON FORMAT ENCODING för indatatyper som inte är bytea" -#: parser/parse_expr.c:4089 +#: parser/parse_expr.c:4092 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "kan inte använda typen %s i ett IS JSON-predikat" -#: parser/parse_expr.c:4115 parser/parse_expr.c:4235 +#: parser/parse_expr.c:4118 parser/parse_expr.c:4238 #, c-format msgid "cannot use RETURNING type %s in %s" msgstr "kan inte använda RETURNING-typ %s i %s" -#: parser/parse_expr.c:4164 -#, fuzzy, c-format +#: parser/parse_expr.c:4167 +#, c-format msgid "cannot use non-string types with WITH UNIQUE KEYS clause" -msgstr "kan inte använda icke-strängtyper med implicit FORMAT JSON-klausul" +msgstr "kan inte använda icke-strängtyper med WITH UNIQUE KEYS-klausul" -#: parser/parse_expr.c:4238 +#: parser/parse_expr.c:4241 #, c-format msgid "Try returning a string type or bytea." msgstr "Försök returnera en strängtyp eller bytea." -#: parser/parse_expr.c:4303 +#: parser/parse_expr.c:4306 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "kan inte ange FORMAT JSON i RETURNING-klausul för %s()" -#: parser/parse_expr.c:4316 +#: parser/parse_expr.c:4319 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "SQL/JSON QUOTES får inte anges tillsammans med WITH WRAPPER" -#: parser/parse_expr.c:4329 parser/parse_expr.c:4396 -#, c-format -msgid "invalid ON EMPTY behavior" -msgstr "ogiltig ON EMPTY-angivelse" - -#: parser/parse_expr.c:4330 -#, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for JSON_QUERY()." -msgstr "Bara uttrycken ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT eller DEFAULT tillåts i ON EMPTY för JSON_QUERY()." - -#: parser/parse_expr.c:4335 parser/parse_expr.c:4402 -#, c-format -msgid "invalid ON EMPTY behavior for column \"%s\"" -msgstr "ogiltig ON EMPTY för kolumn \"%s\"" - -#: parser/parse_expr.c:4337 -#, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for formatted columns." -msgstr "Bara uttrycken ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT eller DEFAULT tillåts i ON EMPTY för formatterade kolumner." - -#: parser/parse_expr.c:4351 parser/parse_expr.c:4375 parser/parse_expr.c:4415 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393 +#: parser/parse_expr.c:4419 parser/parse_expr.c:4445 #: parser/parse_jsontable.c:94 #, c-format -msgid "invalid ON ERROR behavior" -msgstr "ogiltig ON EMPTY-angivelse" - -#: parser/parse_expr.c:4352 -#, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY()." -msgstr "Bara uttrycken ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT eller DEFAULT tillåts i ON ERROR för JSON_QUERY()." +msgid "invalid %s behavior" +msgstr "ogiltig %s-angivelse" -#: parser/parse_expr.c:4357 parser/parse_expr.c:4381 parser/parse_expr.c:4421 +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), +#. second %s is a SQL/JSON function name (e.g. JSON_QUERY) +#: parser/parse_expr.c:4336 parser/parse_expr.c:4365 #, c-format -msgid "invalid ON ERROR behavior for column \"%s\"" -msgstr "ogiltig ON ERROR för kolumn \"%s\"" +msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." +msgstr "Bara uttrycken ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT eller DEFAULT tillåts i %s för %s." -#: parser/parse_expr.c:4359 +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) +#. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401 +#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 #, c-format -msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns." -msgstr "Bara uttrycken ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT eller DEFAULT tillåts i ON ERROR för formatterade kolumner." +msgid "invalid %s behavior for column \"%s\"" +msgstr "ogiltig %s-angivelse för kolumn \"%s\"" -#: parser/parse_expr.c:4376 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 #, c-format -msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for JSON_EXISTS()." -msgstr "Bara ERROR, TRUE, FALSE eller UNKNOWN tillåts i ON ERROR för JSON_EXISTS()." +msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." +msgstr "Bara uttrycken ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT eller DEFAULT tillåts i %s för formatterade kolumner." -#: parser/parse_expr.c:4383 +#: parser/parse_expr.c:4394 #, c-format -msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns." -msgstr "Bara ERROR, TRUE, FALSE eller UNKNOWN tillåts i ON ERROR för EXISTS-kolumner." - -#: parser/parse_expr.c:4397 -#, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for JSON_VALUE()." -msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i ON EMPTY för JSON_VALUE()." +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." +msgstr "Bara ERROR, TRUE, FALSE eller UNKNOWN tillåts i %s för %s." +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) #: parser/parse_expr.c:4404 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for scalar columns." -msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i ON EMPTY för skalära kolumner." +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." +msgstr "Bara ERROR, TRUE, FALSE eller UNKNOWN tillåts i %s för EXISTS-kolumner." -#: parser/parse_expr.c:4416 +#. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), +#. second %s is a SQL/JSON function name (e.g. JSON_QUERY) +#: parser/parse_expr.c:4422 parser/parse_expr.c:4448 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for JSON_VALUE()." -msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i ON ERROR för JSON_VALUE()." +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." +msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i %s för %s." -#: parser/parse_expr.c:4423 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #, c-format -msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for scalar columns." -msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i ON ERROR för skalära kolumner." +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." +msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i %s för skalära kolumner." -#: parser/parse_expr.c:4452 +#: parser/parse_expr.c:4488 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "Uttryck för JSON-sökväg måste vara av typ %s, inte av typ %s" -#: parser/parse_expr.c:4670 +#: parser/parse_expr.c:4706 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "kan bara ange en konstant, en icke-aggregat-funktion eller ett operatoruttryck för DEFAULT" -#: parser/parse_expr.c:4675 +#: parser/parse_expr.c:4711 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT-uttryck får inte innehålla kolumnreferenser" -#: parser/parse_expr.c:4680 +#: parser/parse_expr.c:4716 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT-uttryck får inte returnera en mängd" -#: parser/parse_expr.c:4756 parser/parse_expr.c:4765 -#, fuzzy, c-format +#: parser/parse_expr.c:4792 parser/parse_expr.c:4801 +#, c-format msgid "cannot cast behavior expression of type %s to %s" -msgstr "kan inte omvandla typ %s till %s" +msgstr "kan inte omvandla uttryck av typ %s till %s" -#: parser/parse_expr.c:4759 +#: parser/parse_expr.c:4795 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "Du måste explicit omvandla uttrycket till typen %s." @@ -18892,11 +18808,6 @@ msgstr "Enbart EMPTY [ ARRAY ] eller ERROR tillåts på toppnivå i ON ERROR-kla msgid "duplicate JSON_TABLE column or path name: %s" msgstr "duplicerad JSON_TABLE-kolumn eller sökvägsnamn: %s" -#: parser/parse_jsontable.c:295 -#, c-format -msgid "cannot use more than one FOR ORDINALITY column" -msgstr "kan inte använda mer än en FOR ORDINALITY-kolumn" - #: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" @@ -18977,7 +18888,7 @@ msgstr "op ANY/ALL (array) kräver att operatorn inte returnerar en mängd" msgid "inconsistent types deduced for parameter $%d" msgstr "inkonsistenta typer härledda för parameter $%d" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:309 tcop/postgres.c:744 #, c-format msgid "could not determine data type of parameter $%d" msgstr "kunde inte lista ut datatypen för parameter $%d" @@ -19235,341 +19146,320 @@ msgstr "typmodifierare måste vare enkla konstanter eller identifierare" msgid "invalid type name \"%s\"" msgstr "ogiltigt typnamn \"%s\"" -#: parser/parse_utilcmd.c:266 +#: parser/parse_utilcmd.c:263 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "kan inte skapa partitionerad tabell som barnarv" -#: parser/parse_utilcmd.c:586 +#: parser/parse_utilcmd.c:583 #, c-format msgid "array of serial is not implemented" msgstr "array med serial är inte implementerat" -#: parser/parse_utilcmd.c:665 parser/parse_utilcmd.c:677 -#: parser/parse_utilcmd.c:736 +#: parser/parse_utilcmd.c:662 parser/parse_utilcmd.c:674 +#: parser/parse_utilcmd.c:733 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "motstridiga NULL/NOT NULL-villkor för kolumnen \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:689 +#: parser/parse_utilcmd.c:686 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "multipla default-värden angivna för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:706 +#: parser/parse_utilcmd.c:703 #, c-format msgid "identity columns are not supported on typed tables" msgstr "identitetskolumner stöds inte på typade tabeller" -#: parser/parse_utilcmd.c:710 +#: parser/parse_utilcmd.c:707 #, c-format msgid "identity columns are not supported on partitions" msgstr "identitetskolumner stöds inte för partitioner" -#: parser/parse_utilcmd.c:719 +#: parser/parse_utilcmd.c:716 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "multipla identitetspecifikationer för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:749 +#: parser/parse_utilcmd.c:746 #, c-format msgid "generated columns are not supported on typed tables" msgstr "genererade kolumner stöds inte på typade tabeller" -#: parser/parse_utilcmd.c:753 +#: parser/parse_utilcmd.c:750 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "multipla genereringsklausuler angivna för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:771 parser/parse_utilcmd.c:886 +#: parser/parse_utilcmd.c:768 parser/parse_utilcmd.c:883 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "primärnyckelvillkor stöds inte på främmande tabeller" -#: parser/parse_utilcmd.c:780 parser/parse_utilcmd.c:896 +#: parser/parse_utilcmd.c:777 parser/parse_utilcmd.c:893 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "unika villkor stöds inte på främmande tabeller" -#: parser/parse_utilcmd.c:825 +#: parser/parse_utilcmd.c:822 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "både default och identity angiven för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:833 +#: parser/parse_utilcmd.c:830 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "både default och genereringsuttryck angiven för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:841 +#: parser/parse_utilcmd.c:838 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "både identity och genereringsuttryck angiven för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:906 +#: parser/parse_utilcmd.c:903 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "uteslutningsvillkor stöds inte på främmande tabeller" -#: parser/parse_utilcmd.c:971 +#: parser/parse_utilcmd.c:968 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE stöds inte för att skapa främmande tabeller" -#: parser/parse_utilcmd.c:984 +#: parser/parse_utilcmd.c:981 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "relationen \"%s\" är ogiltig i LIKE-klausul" -#: parser/parse_utilcmd.c:1711 parser/parse_utilcmd.c:1819 +#: parser/parse_utilcmd.c:1708 parser/parse_utilcmd.c:1816 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Index \"%s\" innehåller en hela-raden-referens." -#: parser/parse_utilcmd.c:2217 +#: parser/parse_utilcmd.c:2214 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "kan inte använda ett existerande index i CREATE TABLE" -#: parser/parse_utilcmd.c:2237 +#: parser/parse_utilcmd.c:2234 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "index \"%s\" är redan associerad med ett villkor" -#: parser/parse_utilcmd.c:2258 +#: parser/parse_utilcmd.c:2255 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" är inte ett unikt index" -#: parser/parse_utilcmd.c:2259 parser/parse_utilcmd.c:2266 -#: parser/parse_utilcmd.c:2273 parser/parse_utilcmd.c:2350 +#: parser/parse_utilcmd.c:2256 parser/parse_utilcmd.c:2263 +#: parser/parse_utilcmd.c:2270 parser/parse_utilcmd.c:2347 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Kan inte skapa en primärnyckel eller ett unikt villkor med hjälp av ett sådant index." -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2262 #, c-format msgid "index \"%s\" contains expressions" msgstr "index \"%s\" innehåller uttryck" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2269 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" är ett partiellt index" -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" är ett \"deferrable\" index" -#: parser/parse_utilcmd.c:2285 +#: parser/parse_utilcmd.c:2282 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Kan inte skapa ett icke-\"deferrable\" integritetsvillkor från ett \"deferrable\" index." -#: parser/parse_utilcmd.c:2349 +#: parser/parse_utilcmd.c:2346 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "index \"%s\" kolumn nummer %d har ingen standard för sorteringsbeteende" -#: parser/parse_utilcmd.c:2506 +#: parser/parse_utilcmd.c:2503 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "kolumn \"%s\" finns med två gånger i primära nyckel-villkoret" -#: parser/parse_utilcmd.c:2512 +#: parser/parse_utilcmd.c:2509 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "kolumn \"%s\" finns med två gånger i unique-villkoret" -#: parser/parse_utilcmd.c:2846 +#: parser/parse_utilcmd.c:2843 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "indexuttryck och predikat kan bara referera till tabellen som indexeras" -#: parser/parse_utilcmd.c:2918 +#: parser/parse_utilcmd.c:2915 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "statistikuttryck kan bara referera till tabellen som är refererad" -#: parser/parse_utilcmd.c:2961 +#: parser/parse_utilcmd.c:2958 #, c-format msgid "rules on materialized views are not supported" msgstr "regler på materialiserade vyer stöds inte" -#: parser/parse_utilcmd.c:3021 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "WHERE-villkor i regel kan inte innehålla referenser till andra relationer" -#: parser/parse_utilcmd.c:3093 +#: parser/parse_utilcmd.c:3090 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "regler med WHERE-villkor kan bara innehålla SELECT-, INSERT-, UPDATE- eller DELETE-handlingar" -#: parser/parse_utilcmd.c:3111 parser/parse_utilcmd.c:3212 -#: rewrite/rewriteHandler.c:537 rewrite/rewriteManip.c:1095 +#: parser/parse_utilcmd.c:3108 parser/parse_utilcmd.c:3209 +#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "UNION-/INTERSECT-/EXCEPT-satser med villkor är inte implementerat" -#: parser/parse_utilcmd.c:3129 +#: parser/parse_utilcmd.c:3126 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON SELECT-regel kan inte använda OLD" -#: parser/parse_utilcmd.c:3133 +#: parser/parse_utilcmd.c:3130 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON SELECT-regel kan inte använda NEW" -#: parser/parse_utilcmd.c:3142 +#: parser/parse_utilcmd.c:3139 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON INSERT-regel kan inte använda OLD" -#: parser/parse_utilcmd.c:3148 +#: parser/parse_utilcmd.c:3145 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON DELETE-regel kan inte använda NEW" -#: parser/parse_utilcmd.c:3176 +#: parser/parse_utilcmd.c:3173 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "kan inte referera till OLD i WITH-fråga" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3180 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "kan inte referera till NEW i WITH-fråga" -#: parser/parse_utilcmd.c:3255 -#, c-format -msgid "\"%s\" is not a partition" -msgstr "\"%s\" är inte en partition" - -#: parser/parse_utilcmd.c:3290 parser/parse_utilcmd.c:3335 -#: parser/parse_utilcmd.c:4101 -#, c-format -msgid "\"%s\" is not a partitioned table" -msgstr "\"%s\" är inte en partitionerad tabell" - -#: parser/parse_utilcmd.c:3343 -#, fuzzy, c-format -msgid "partition of hash-partitioned table cannot be merged" -msgstr "en hash-partitionerad tabell får inte ha en standardpartition" - -#: parser/parse_utilcmd.c:3361 -#, fuzzy, c-format -msgid "partition with name \"%s\" is already used" -msgstr "transaktionsidentifierare \"%s\" används redan" - -#: parser/parse_utilcmd.c:3673 -#, c-format -msgid "list of new partitions should contain at least two items" -msgstr "listan med nya partitioner skall innehåller minst två element" - -#: parser/parse_utilcmd.c:3811 +#: parser/parse_utilcmd.c:3636 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "felplacerad DEFERRABLE-klausul" -#: parser/parse_utilcmd.c:3816 parser/parse_utilcmd.c:3831 +#: parser/parse_utilcmd.c:3641 parser/parse_utilcmd.c:3656 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "multipla DEFERRABLE/NOT DEFERRABLE-klausuler tillåts inte" -#: parser/parse_utilcmd.c:3826 +#: parser/parse_utilcmd.c:3651 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "felplacerad NOT DEFERRABLE-klausul" -#: parser/parse_utilcmd.c:3847 +#: parser/parse_utilcmd.c:3672 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "felplacerad INITIALLY DEFERRED-klausul" -#: parser/parse_utilcmd.c:3852 parser/parse_utilcmd.c:3878 +#: parser/parse_utilcmd.c:3677 parser/parse_utilcmd.c:3703 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "multipla INITIALLY IMMEDIATE/DEFERRED-klausuler tillåts inte" -#: parser/parse_utilcmd.c:3873 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "felplacerad klausul INITIALLY IMMEDIATE" -#: parser/parse_utilcmd.c:4066 +#: parser/parse_utilcmd.c:3891 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE anger ett schema (%s) som skiljer sig från det som skapas (%s)" -#: parser/parse_utilcmd.c:4108 +#: parser/parse_utilcmd.c:3926 +#, c-format +msgid "\"%s\" is not a partitioned table" +msgstr "\"%s\" är inte en partitionerad tabell" + +#: parser/parse_utilcmd.c:3933 #, c-format msgid "table \"%s\" is not partitioned" msgstr "tabell \"%s\" är inte partitionerad" -#: parser/parse_utilcmd.c:4115 +#: parser/parse_utilcmd.c:3940 #, c-format msgid "index \"%s\" is not partitioned" msgstr "index \"%s\" är inte partitionerad" -#: parser/parse_utilcmd.c:4155 +#: parser/parse_utilcmd.c:3980 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "en hash-partitionerad tabell får inte ha en standardpartition" -#: parser/parse_utilcmd.c:4172 +#: parser/parse_utilcmd.c:3997 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ogiltig gränsangivelse för hash-partition" -#: parser/parse_utilcmd.c:4178 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4003 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "modulo för hash-partition vara ett heltalsvärde större än noll" -#: parser/parse_utilcmd.c:4185 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4010 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "rest för hash-partition måste vara lägre än modulo" -#: parser/parse_utilcmd.c:4198 +#: parser/parse_utilcmd.c:4023 #, c-format msgid "invalid bound specification for a list partition" msgstr "ogiltig gränsangivelse för listpartition" -#: parser/parse_utilcmd.c:4251 +#: parser/parse_utilcmd.c:4076 #, c-format msgid "invalid bound specification for a range partition" msgstr "ogiltig gränsangivelse för range-partition" -#: parser/parse_utilcmd.c:4257 +#: parser/parse_utilcmd.c:4082 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM måste ge exakt ett värde per partitionerande kolumn" -#: parser/parse_utilcmd.c:4261 +#: parser/parse_utilcmd.c:4086 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TO måste ge exakt ett värde per partitionerande kolumn" -#: parser/parse_utilcmd.c:4375 +#: parser/parse_utilcmd.c:4200 #, c-format msgid "cannot specify NULL in range bound" msgstr "kan inte ange NULL i range-gräns" -#: parser/parse_utilcmd.c:4424 +#: parser/parse_utilcmd.c:4249 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "varje gräns efter MAXVALUE måste också vara MAXVALUE" -#: parser/parse_utilcmd.c:4431 +#: parser/parse_utilcmd.c:4256 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "varje gräns efter MINVALUE måste också vara MINVALUE" -#: parser/parse_utilcmd.c:4474 +#: parser/parse_utilcmd.c:4299 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "angivet värde kan inte typomvandlas till typ %s för kolumn \"%s\"" @@ -19629,126 +19519,51 @@ msgstr "Ny modulon %d är inte en faktor av %d som är modulo för den existeran msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "Ny modulon %d är inte delbar med %d som är modulo för den existerande paritionen \"%s\"." -#: partitioning/partbounds.c:3127 partitioning/partbounds.c:5202 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "tom intervallsgräns angiven för partition \"%s\"" -#: partitioning/partbounds.c:3129 partitioning/partbounds.c:5204 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "Angiven undre gräns %s är större än eller lika med övre gräns %s." -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "partition \"%s\" skulle överlappa partition \"%s\"" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" msgstr "hoppade över skanning av främmand tabell \"%s\" som er en partition för standardpartitionen \"%s\"" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "remainder for hash partition must be an integer value greater than or equal to zero" msgstr "rest för hash-partition måste vara ett heltalsvärde större än eller lika med noll" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\" är inte en hash-partitionerad tabell" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" msgstr "antalet partitioneringskolumner (%d) stämmer inte med antalet partioneringsnycklas som angivits (%d)" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "column %d of the partition key has type %s, but supplied value is of type %s" msgstr "kolumn %d i partitioneringsnyckeln har typ %s men använt värde har typ %s" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "kolumn %d i partitioneringsnyckeln har typ \"%s\" men använt värde har typ \"%s\"" -#: partitioning/partbounds.c:5038 -#, fuzzy, c-format -msgid "lower bound of partition \"%s\" conflicts with upper bound of previous partition \"%s\"" -msgstr "partition \"%s\" står i konflikt med existerande default-partition \"%s\"" - -#: partitioning/partbounds.c:5092 -#, fuzzy, c-format -msgid "new partition \"%s\" would overlap with another new partition \"%s\"" -msgstr "partition \"%s\" skulle överlappa partition \"%s\"" - -#: partitioning/partbounds.c:5239 -#, c-format -msgid "lower bound of partition \"%s\" is not equal to lower bound of split partition" -msgstr "undre gräns för partition \"%s\" är inte lika med den undre gränsen för splittade partitionen" - -#: partitioning/partbounds.c:5251 -#, c-format -msgid "lower bound of partition \"%s\" is less than lower bound of split partition" -msgstr "undre gräns för partition \"%s\" är lägre än undre gränsen för splittade partitionen" - -#: partitioning/partbounds.c:5280 -#, c-format -msgid "upper bound of partition \"%s\" is not equal to upper bound of split partition" -msgstr "övre gräns för partition \"%s\" är inte lika med den övre gränsen för splittade partitionen" - -#: partitioning/partbounds.c:5292 -#, c-format -msgid "upper bound of partition \"%s\" is greater than upper bound of split partition" -msgstr "övre gräns för partition \"%s\" är högre än övre gränsen för splittade partitionen" - -#: partitioning/partbounds.c:5364 -#, c-format -msgid "new partition \"%s\" cannot have this value because split partition does not have" -msgstr "nya partitionen \"%s\" kan inte ha detta värde då den splittade partitionen inte har det" - -#: partitioning/partbounds.c:5380 -#, c-format -msgid "new partition \"%s\" cannot have NULL value because split partition does not have" -msgstr "nya partitionen \"%s\" kan inte ha NULL-värde då den splittade partitionen inte har det" - -#: partitioning/partbounds.c:5390 -#, c-format -msgid "new partition \"%s\" would overlap with another (not split) partition \"%s\"" -msgstr "nya partition \"%s\" skulle överlappa med en annan (icke-splittad) partition \"%s\"" - -#: partitioning/partbounds.c:5530 -#, fuzzy, c-format -msgid "new partitions do not have value %s but split partition does" -msgstr "nya partitionerna saknar värde %s men den splittade partitionen har det" - -#: partitioning/partbounds.c:5607 -#, c-format -msgid "DEFAULT partition should be one" -msgstr "En skall vara DEFAULT-partition" - -#: partitioning/partbounds.c:5623 -#, c-format -msgid "partition of hash-partitioned table cannot be split" -msgstr "en hash-partitionerad tabell kan inte splittas" - -#: partitioning/partbounds.c:5677 -#, c-format -msgid "one partition in the list should be DEFAULT because split partition is DEFAULT" -msgstr "en av partitionerna i listan skall vara DEFAULT då den splittade partitionen är DEFAULT" - -#: partitioning/partbounds.c:5687 -#, c-format -msgid "new partition cannot be DEFAULT because DEFAULT partition already exists" -msgstr "ny partition kan inte vara DEFAULT då det redan finns en DEFAULT-partition" - -#: partitioning/partbounds.c:5746 -#, c-format -msgid "name \"%s\" is already used" -msgstr "namnet \"%s\" används redan" - #: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 #: port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format @@ -19838,11 +19653,11 @@ msgid "Failed system call was semget(%lu, %d, 0%o)." msgstr "Misslyckade systemanropet var semget(%lu, %d, 0%o)." #: port/sysv_sema.c:125 -#, fuzzy, c-format +#, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded. You need to raise the respective kernel parameter. Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its \"max_connections\" parameter.\n" "The PostgreSQL documentation contains more information about configuring your system for PostgreSQL." -msgstr "Detta fel betyder *inte* att disken blivit full. Detta fel kommer när systemgränsen för maximalt antal semaforvektorer (SEMMNI) överskridits eller när systemets globala maximum för semaforer (SEMMNS) överskridits. Du behöver öka respektive kernel-parameter. Alternativt kan du minska PostgreSQL:s användning av semaforer genom att dra ner på parametern max_connections. PostgreSQL:s dokumentation innehåller mer information om hur du konfigurerar systemet för PostgreSQL." +msgstr "Detta fel betyder *inte* att disken blivit full. Detta fel kommer när systemgränsen för maximalt antal semaforvektorer (SEMMNI) överskridits eller när systemets globala maximum för semaforer (SEMMNS) överskridits. Du behöver öka respektive kernel-parameter. Alternativt kan du minska PostgreSQL:s användning av semaforer genom att dra ner på parametern \"max_connections\". PostgreSQL:s dokumentation innehåller mer information om hur du konfigurerar systemet för PostgreSQL." #: port/sysv_sema.c:155 #, c-format @@ -20029,7 +19844,7 @@ msgstr "bakgrundsarbetare \"%s\": ogiltigt omstartsintervall" msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "bakgrundsarbetare \"%s\": parallella arbetare kan inte konfigureras för omstart" -#: postmaster/bgworker.c:715 tcop/postgres.c:3284 +#: postmaster/bgworker.c:715 tcop/postgres.c:3288 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "terminerar bakgrundsarbetare \"%s\" pga administratörskommando" @@ -20144,9 +19959,9 @@ msgid "could not read from backend variables file \"%s\": %m\n" msgstr "kunde inte läsa från bakändans variabelfil \"%s\": %m\n" #: postmaster/launch_backend.c:912 -#, fuzzy, c-format +#, c-format msgid "could not read startup data from backend variables file \"%s\": %m\n" -msgstr "kunde inte läsa från bakändans variabelfil \"%s\": %s\n" +msgstr "kunde inte uppstartsdata från bakändans variabelfil \"%s\": %m\n" #: postmaster/launch_backend.c:924 #, c-format @@ -20244,9 +20059,9 @@ msgid "WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be \"re msgstr "WAL-strömning (\"max_wal_senders\" > 0) kräver att \"wal_level\" är \"replica\" eller \"logical\"" #: postmaster/postmaster.c:839 -#, fuzzy, c-format +#, c-format msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\"" -msgstr "WAL-arkivering kan inte slås på när wal_level är \"minimal\"" +msgstr "WAL kan inte summeras när \"wal_level\" är \"minimal\"" #: postmaster/postmaster.c:847 #, c-format @@ -20448,9 +20263,8 @@ msgid "WAL receiver process" msgstr "WAL-mottagarprocess" #: postmaster/postmaster.c:2597 -#, fuzzy msgid "WAL summarizer process" -msgstr "WAL-skrivarprocess" +msgstr "WAL-summeringsprocess" #: postmaster/postmaster.c:2612 msgid "autovacuum launcher process" @@ -20465,9 +20279,8 @@ msgid "system logger process" msgstr "system-logg-process" #: postmaster/postmaster.c:2660 -#, fuzzy msgid "slot sync worker process" -msgstr "kunde inte skapa arbetsprocess: %m" +msgstr "arbetarprocess för slotsynkronisering" #: postmaster/postmaster.c:2716 #, c-format @@ -20579,14 +20392,14 @@ msgid "invalid processing mode in background worker" msgstr "ogiltigt processläge i bakgrundsarbetare" #: postmaster/postmaster.c:4275 -#, fuzzy, c-format +#, c-format msgid "could not fork background worker process: %m" -msgstr "kunde inte starta process för bakgrundsskrivare: %m" +msgstr "kunde inte fork:a process för bakgrundsarbete: %m" #: postmaster/postmaster.c:4358 -#, fuzzy, c-format +#, c-format msgid "no slot available for new background worker process" -msgstr "ingen slot tillgänglig för ny arbetsprocess" +msgstr "ingen slot tillgänglig till ny process för bakgrundsarbete" #: postmaster/postmaster.c:4621 #, c-format @@ -20648,61 +20461,43 @@ msgstr "kunde inte öppna loggfil \"%s\": %m" msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "stänger av automatisk rotation (använd SIGHUP för att slå på igen)" -#: postmaster/walsummarizer.c:385 -#, c-format -msgid "switch point from TLI %u to TLI %u is at %X/%X" -msgstr "" - #: postmaster/walsummarizer.c:740 #, c-format msgid "WAL summarization is not progressing" -msgstr "" +msgstr "WAL-summering avancerar inte" #: postmaster/walsummarizer.c:741 #, c-format msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." -msgstr "" +msgstr "Summering krävs till %X/%X men har fastnat vid %X/%X på disk och vid %X/%X i minnet." #: postmaster/walsummarizer.c:755 #, c-format -msgid "still waiting for WAL summarization through %X/%X after %ld seconds" -msgstr "" +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "väntar fortfarande på WAL-summering till %X/%X efter %ld sekund" +msgstr[1] "väntar fortfarande på WAL-summering till %X/%X efter %ld sekunder" -#: postmaster/walsummarizer.c:758 +#: postmaster/walsummarizer.c:760 #, c-format msgid "Summarization has reached %X/%X on disk and %X/%X in memory." -msgstr "" +msgstr "Summering har nått %X/%X på disk och %X/%X i minnet." -#: postmaster/walsummarizer.c:998 +#: postmaster/walsummarizer.c:1000 #, c-format msgid "could not find a valid record after %X/%X" msgstr "kunde inte hitta en giltig post efter %X/%X" -#: postmaster/walsummarizer.c:1043 +#: postmaster/walsummarizer.c:1045 #, c-format msgid "could not read WAL from timeline %u at %X/%X: %s" msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%X: %s" -#: postmaster/walsummarizer.c:1049 +#: postmaster/walsummarizer.c:1051 #, c-format msgid "could not read WAL from timeline %u at %X/%X" msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%X" -#: postmaster/walsummarizer.c:1220 -#, c-format -msgid "summarized WAL on TLI %u from %X/%X to %X/%X" -msgstr "" - -#: postmaster/walsummarizer.c:1232 -#, c-format -msgid "skipped summarizing WAL on TLI %u from %X/%X to %X/%X" -msgstr "" - -#: postmaster/walsummarizer.c:1578 -#, c-format -msgid "timeline %u became historic, can read up to %X/%X" -msgstr "" - #: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" @@ -20968,10 +20763,11 @@ msgstr "kan inte skapa logisk replikeringsslot i transaktion som redan har utfö msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "kan inte använda replikeringsslot \"%s\" för logisk avkodning" -#: replication/logical/logical.c:542 -#, fuzzy, c-format -msgid "This slot is being synchronized from the primary server." -msgstr "ogiltigt svar från primär server" +#: replication/logical/logical.c:542 replication/slot.c:798 +#: replication/slot.c:829 +#, c-format +msgid "This replication slot is being synchronized from the primary server." +msgstr "Denna replikeringsslot synkroniseras från primära servern." #: replication/logical/logical.c:543 #, c-format @@ -21063,9 +20859,9 @@ msgid "logical decoding output plugin \"%s\" produces binary output, but functio msgstr "utdata-plugin \"%s\" för logisk avkodning producerar binär utdata men funktionen \"%s\" förväntar sig textdata" #: replication/logical/origin.c:190 -#, fuzzy, c-format +#, c-format msgid "cannot query or manipulate replication origin when \"max_replication_slots\" is 0" -msgstr "kan inte se eller ändra replikeringskällor när max_replication_slots = 0" +msgstr "kan inte se eller ändra replikeringskällor när \"max_replication_slots\" är 0" #: replication/logical/origin.c:195 #, c-format @@ -21098,9 +20894,9 @@ msgid "replication checkpoint has wrong magic %u instead of %u" msgstr "replikeringscheckpoint har fel magiskt tal %u istället för %u" #: replication/logical/origin.c:798 -#, fuzzy, c-format +#, c-format msgid "could not find free replication state, increase \"max_replication_slots\"" -msgstr "kunde inte hitta ledig replikeringsplats, öka max_replication_slots" +msgstr "kunde inte hitta ledig replikeringsplats, öka \"max_replication_slots\"" #: replication/logical/origin.c:806 #, c-format @@ -21176,154 +20972,154 @@ msgstr "destinationsrelation \"%s.%s\" för logisk replikering använder systemk msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "destinationsrelation \"%s.%s\" för logisk replikering finns inte" -#: replication/logical/reorderbuffer.c:3970 +#: replication/logical/reorderbuffer.c:3994 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "kunde inte skriva till datafil för XID %u: %m" -#: replication/logical/reorderbuffer.c:4316 -#: replication/logical/reorderbuffer.c:4341 +#: replication/logical/reorderbuffer.c:4340 +#: replication/logical/reorderbuffer.c:4365 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "kunde inte läsa från reorderbuffer spill-fil: %m" -#: replication/logical/reorderbuffer.c:4320 -#: replication/logical/reorderbuffer.c:4345 +#: replication/logical/reorderbuffer.c:4344 +#: replication/logical/reorderbuffer.c:4369 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "kunde inte läsa från reorderbuffer spill-fil: läste %d istället för %u byte" -#: replication/logical/reorderbuffer.c:4595 +#: replication/logical/reorderbuffer.c:4619 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "kunde inte radera fil \"%s\" vid borttagning av pg_replslot/%s/xid*: %m" -#: replication/logical/reorderbuffer.c:5091 +#: replication/logical/reorderbuffer.c:5115 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "kunde inte läsa från fil \"%s\": läste %d istället för %d byte" #: replication/logical/slotsync.c:215 #, c-format -msgid "could not sync slot \"%s\" as remote slot precedes local slot" -msgstr "" +msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" +msgstr "kunde inte synkronisera replikeringsslot \"%s\" då fjärrslotten ligger tidigare än den lokala slotten" #: replication/logical/slotsync.c:217 #, c-format -msgid "Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u." -msgstr "" +msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u." +msgstr "Fjärrslotten har LSN %X/%X och katalog-xmin %u men lokala slotten har LSN %X/%X och katalog-xmin %u." #: replication/logical/slotsync.c:459 #, c-format -msgid "dropped replication slot \"%s\" of dbid %u" -msgstr "slängde replikerings-slot \"%s\" för dbid %u" +msgid "dropped replication slot \"%s\" of database with OID %u" +msgstr "slängde replikerings-slot \"%s\" för databas med OID %u" #: replication/logical/slotsync.c:579 #, c-format -msgid "could not sync slot \"%s\"" -msgstr "kunde inte sync:a slot \"%s\"" +msgid "could not synchronize replication slot \"%s\"" +msgstr "kunde inte synkronisera replikeringsslot \"%s\"" #: replication/logical/slotsync.c:580 -#, fuzzy, c-format -msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%X." -msgstr "logisk avkodning hittade konsistent punkt vid %X/%X" +#, c-format +msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X." +msgstr "Logisk avkodning kunde inte hitta en konsistent punkt från lokala slottens LSN %X/%X" #: replication/logical/slotsync.c:589 #, c-format -msgid "newly created slot \"%s\" is sync-ready now" -msgstr "" +msgid "newly created replication slot \"%s\" is sync-ready now" +msgstr "nyskapad replikeringsslot \"%s\" är redo för synk nu" #: replication/logical/slotsync.c:628 #, c-format -msgid "skipping slot synchronization as the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" -msgstr "" +msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" +msgstr "hoppar över slotsynkronisering då den mottagna slottens synk-LSN %X/%X för slot \"%s\" är längre fram än standby-positionen %X/%X" #: replication/logical/slotsync.c:650 #, c-format msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" -msgstr "" +msgstr "avslutar slotsynkronisering då samma slotnamn \"%s\" redan finns på standby:en" #: replication/logical/slotsync.c:819 -#, fuzzy, c-format +#, c-format msgid "could not fetch failover logical slots info from the primary server: %s" -msgstr "kan inte ta emot fil med tidslinjehistorik från primära servern: %s" +msgstr "kan inte hämta logisk slot för failover från primära servern: %s" #: replication/logical/slotsync.c:965 -#, fuzzy, c-format +#, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" -msgstr "kan inte ta emot fil med tidslinjehistorik från primära servern: %s" +msgstr "kan inte hämta info för primary_slot_name \"%s\" från primära servern: %s" #: replication/logical/slotsync.c:967 #, c-format msgid "Check if primary_slot_name is configured correctly." -msgstr "" +msgstr "Kontrollera att primary_slot_name är korrekt konfigurerad." #: replication/logical/slotsync.c:987 -#, fuzzy, c-format -msgid "cannot synchronize replication slots from a standby server" -msgstr "kan inte kopiera en replikeringsslot som inte tidigare har reserverat WAL" - -#: replication/logical/slotsync.c:995 #, c-format -msgid "slot synchronization requires valid primary_slot_name" -msgstr "" +msgid "cannot synchronize replication slots from a standby server" +msgstr "kan inte synkronisera replikeringsslottar från en standby-server" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:997 -#, fuzzy, c-format -msgid "The replication slot \"%s\" specified by %s does not exist on the primary server." -msgstr "publiceringen %s finns inte hos publiceraren" +#: replication/logical/slotsync.c:996 +#, c-format +msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" +msgstr "replikeringsslot \"%s\" angiven av %s finns inte på den primära servern." +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. #: replication/logical/slotsync.c:1029 -#, fuzzy, c-format -msgid "slot synchronization requires dbname to be specified in %s" -msgstr "flaggan %s kräver att flaggan %s också anges" +#, c-format +msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" +msgstr "synkronisering av replikeringsslot kräver att \"%s\" anges i %s" #: replication/logical/slotsync.c:1050 -#, fuzzy, c-format -msgid "slot synchronization requires \"wal_level\" >= \"logical\"" -msgstr "publiceraren kräver wal_level >= \"logical\"" +#, c-format +msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" +msgstr "synkronisering av replikeringsslot kräver at \"wal_level\" >= \"logical\"" +#. translator: %s is a GUC variable name #: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 -#, fuzzy, c-format -msgid "slot synchronization requires %s to be defined" -msgstr "flaggan %s kräver att flaggan %s också anges" +#, c-format +msgid "replication slot synchronization requires \"%s\" to be set" +msgstr "synkronisering av replikeringsslot kräver att \"%s\" också anges" +#. translator: %s is a GUC variable name #: replication/logical/slotsync.c:1077 -#, fuzzy, c-format -msgid "slot synchronization requires %s to be enabled" -msgstr "flaggan %s kräver att flaggan %s också anges" +#, c-format +msgid "replication slot synchronization requires \"%s\" to be enabled" +msgstr "synkronisering av replikeringsslot kräver att \"%s\" också slås på" #. translator: %s is a GUC variable name #: replication/logical/slotsync.c:1129 #, c-format -msgid "slot sync worker will shutdown because %s is disabled" -msgstr "" +msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" +msgstr "arbetare för synkronisering av replikeringsslot kommer stängas ner då \"%s\" är avslagen" #: replication/logical/slotsync.c:1138 -#, fuzzy, c-format -msgid "slot sync worker will restart because of a parameter change" -msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer att startas om på grund av ändrade parametrar" +#, c-format +msgid "replication slot synchronization worker will restart because of a parameter change" +msgstr "arbetare för synkronisering av replikeringsslot kommer startas om då parametrar ändrats" #: replication/logical/slotsync.c:1162 #, c-format -msgid "slot sync worker is shutting down on receiving SIGINT" -msgstr "" +msgid "replication slot synchronization worker is shutting down on receiving SIGINT" +msgstr "arbetare för synkronisering av replikeringsslot stänger ner efter mottagning av SIGINT" #: replication/logical/slotsync.c:1287 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" -msgstr "" +msgstr "kan inte synkronisera replikeringsslot när befordran av standby pågår" #: replication/logical/slotsync.c:1295 -#, fuzzy, c-format +#, c-format msgid "cannot synchronize replication slots concurrently" -msgstr "kan inte omindexera systemkataloger parallellt" +msgstr "kan inte synkronisera replikeringsslottar parallellt" #: replication/logical/slotsync.c:1403 -#, fuzzy, c-format +#, c-format msgid "slot sync worker started" -msgstr "servern startad\n" +msgstr "arbetare för slot-synk startad" #: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 #: replication/walreceiver.c:307 @@ -21549,62 +21345,62 @@ msgstr "logisk replikerings tabellsynkroniseringsarbetare för prenumeration \"% msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" har startat" -#: replication/logical/worker.c:4734 +#: replication/logical/worker.c:4758 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "prenumeration \"%s\" har avaktiverats på grund av ett fel" -#: replication/logical/worker.c:4782 +#: replication/logical/worker.c:4806 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "logisk replikering börjar hoppa över transaktion vid LSN %X/%X" -#: replication/logical/worker.c:4796 +#: replication/logical/worker.c:4820 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "logisk replikering har slutfört överhoppande av transaktionen vid LSN %X/%X" -#: replication/logical/worker.c:4878 +#: replication/logical/worker.c:4902 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "överhoppnings-LSN för logiska prenumerationen \"%s\" har nollställts" -#: replication/logical/worker.c:4879 +#: replication/logical/worker.c:4903 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "Fjärrtransaktionens slut-WAL-position (LSN) %X/%X matchade inte överhoppnings-LSN %X/%X." -#: replication/logical/worker.c:4905 +#: replication/logical/worker.c:4940 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "processar fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\"" -#: replication/logical/worker.c:4909 +#: replication/logical/worker.c:4944 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "processar fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u" -#: replication/logical/worker.c:4914 +#: replication/logical/worker.c:4949 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u blev klar vid %X/%X" -#: replication/logical/worker.c:4925 +#: replication/logical/worker.c:4960 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u" -#: replication/logical/worker.c:4932 +#: replication/logical/worker.c:4967 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u blev klart vid %X/%X" -#: replication/logical/worker.c:4943 +#: replication/logical/worker.c:4978 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u" -#: replication/logical/worker.c:4951 +#: replication/logical/worker.c:4986 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u blev klart vid %X/%X" @@ -21624,15 +21420,10 @@ msgstr "proto_version \"%s\" är utanför giltigt intervall" msgid "invalid publication_names syntax" msgstr "ogiltig publication_names-syntax" -#: replication/pgoutput/pgoutput.c:407 +#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411 #, c-format -msgid "proto_version option missing" -msgstr "parametern proto_version saknas" - -#: replication/pgoutput/pgoutput.c:411 -#, fuzzy, c-format -msgid "publication_names option missing" -msgstr "saknar parameter publication_names" +msgid "option \"%s\" missing" +msgstr "flaggan \"%s\" saknas." #: replication/pgoutput/pgoutput.c:452 #, c-format @@ -21690,14 +21481,14 @@ msgid "Replication slot names may only contain lower case letters, numbers, and msgstr "Replikeringsslotnamn får bara innehålla små bokstäver, nummer och understreck." #: replication/slot.c:333 -#, fuzzy, c-format +#, c-format msgid "cannot enable failover for a replication slot created on the standby" -msgstr "kunde inte låsa rad i relationen \"%s\"" +msgstr "kan inte aktivera failover för en replikeringsslot som skapats på standby:en" #: replication/slot.c:345 replication/slot.c:849 -#, fuzzy, c-format +#, c-format msgid "cannot enable failover for a temporary replication slot" -msgstr "kan inte ärva från en temporär relation \"%s\"" +msgstr "kan inte aktivera failover för en temporär repllikeringsslot" #: replication/slot.c:370 #, c-format @@ -21726,35 +21517,30 @@ msgid "replication slot \"%s\" is active for PID %d" msgstr "replikeringsslot \"%s\" är aktiv för PID %d" #: replication/slot.c:638 -#, fuzzy, c-format +#, c-format msgid "acquired logical replication slot \"%s\"" -msgstr "kan inte läsa från logisk replikeringsslot \"%s\"" +msgstr "tog logisk replikeringsslot \"%s\"" #: replication/slot.c:640 -#, fuzzy, c-format +#, c-format msgid "acquired physical replication slot \"%s\"" -msgstr "duplicerad replikeringsslot \"%s\"" +msgstr "tog fysisk replikeringsslot \"%s\"" #: replication/slot.c:729 -#, fuzzy, c-format +#, c-format msgid "released logical replication slot \"%s\"" -msgstr "kan inte läsa från logisk replikeringsslot \"%s\"" +msgstr "släppte logisk replikeringsslot \"%s\"" #: replication/slot.c:731 -#, fuzzy, c-format +#, c-format msgid "released physical replication slot \"%s\"" -msgstr "skapade en replikeringsslot \"%s\"" +msgstr "släppte fysisk replikeringsslot \"%s\"" #: replication/slot.c:797 #, c-format msgid "cannot drop replication slot \"%s\"" msgstr "kan inte slänga replikeringsslot \"%s\"" -#: replication/slot.c:798 replication/slot.c:829 -#, c-format -msgid "This slot is being synced from the primary server." -msgstr "Denna slot synkas från primära servern." - #: replication/slot.c:816 #, c-format msgid "cannot use %s with a physical replication slot" @@ -21766,9 +21552,9 @@ msgid "cannot alter replication slot \"%s\"" msgstr "kan inte ändra replikeringsslot \"%s\"" #: replication/slot.c:838 -#, fuzzy, c-format +#, c-format msgid "cannot enable failover for a replication slot on the standby" -msgstr "kan inte läsa från logisk replikeringsslot \"%s\"" +msgstr "kan inte aktivera failover för en replikeringsslot på standby:en" #: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311 #, c-format @@ -21873,53 +21659,53 @@ msgstr "\"%s\" är inte en fysisk replikeringsslot" #: replication/slot.c:2638 #, c-format -msgid "replication slot \"%s\" specified in parameter %s does not exist" -msgstr "replikeringsslot \"%s\" som angivits i parametern %s existerar inte" +msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" +msgstr "replikeringsslot \"%s\" som angivits i parametern \"%s\" existerar inte" #: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696 #, c-format -msgid "Logical replication is waiting on the standby associated with \"%s\"." -msgstr "" +msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." +msgstr "Logisk replikering väntar på standby associerad med replikeringsslot \"%s\"." #: replication/slot.c:2642 -#, fuzzy, c-format -msgid "Consider creating the slot \"%s\" or amend parameter %s." -msgstr "Överväg att öka konfigurationsparametern \"max_wal_size\"." +#, c-format +msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." +msgstr "Skapa replikeringsslotten \"%s\" eller ändra parametern \"%s\"" #: replication/slot.c:2659 -#, fuzzy, c-format -msgid "cannot have logical replication slot \"%s\" in parameter %s" -msgstr "kan inte läsa från logisk replikeringsslot \"%s\"" +#, c-format +msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" +msgstr "kan inte ange logisk replikeringsslot \"%s\" i parametern \"%s\"" #: replication/slot.c:2661 -#, fuzzy, c-format -msgid "Logical replication is waiting for correction on \"%s\"." -msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" har startat" +#, c-format +msgid "Logical replication is waiting for correction on replication slot \"%s\"." +msgstr "Logiska replikering väntar på rättning av replikeringsslot \"%s\"" #: replication/slot.c:2663 #, c-format -msgid "Consider removing logical slot \"%s\" from parameter %s." -msgstr "Överväg att ta bort logisk slot \"%s\" från parametern %s." +msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." +msgstr "Ta bort logisk replikeringsslot \"%s\" från parametern \"%s\"" #: replication/slot.c:2679 #, c-format -msgid "physical slot \"%s\" specified in parameter %s has been invalidated" -msgstr "fysisk slot \"%s\" angiven i parametern %s har invaliderats" +msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" +msgstr "fysisk replikeringsslot \"%s\" angiven i parametern \"%s\" har invaliderats" #: replication/slot.c:2683 -#, fuzzy, c-format -msgid "Consider dropping and recreating the slot \"%s\" or amend parameter %s." -msgstr "slängde replikerings-slot \"%s\" på publicerare" +#, c-format +msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "Släng och återskapa replikeringsslotten \"%s\" eller ändra parametern %s." #: replication/slot.c:2694 -#, fuzzy, c-format -msgid "replication slot \"%s\" specified in parameter %s does not have active_pid" -msgstr "replikeringsslot \"%s\" har inte skapats i denna databasen" +#, c-format +msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" +msgstr "replikeringsslot \"%s\" angiven i parametern \"%s\" har inte active_pid" #: replication/slot.c:2698 #, c-format -msgid "Consider starting standby associated with \"%s\" or amend parameter %s." -msgstr "" +msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "Starta standby associerad med replikeringsslot \"%s\" eller ändra parametern \"%s\"." #: replication/slotfuncs.c:526 #, c-format @@ -21977,9 +21763,9 @@ msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Försök igen när källreplikeringsslottens confirmed_flush_lsn är giltig." #: replication/slotfuncs.c:877 -#, fuzzy, c-format +#, c-format msgid "replication slots can only be synchronized to a standby server" -msgstr "replikerings-slot kan bara användas med WAL-strömning" +msgstr "replikerings-slot kan bara synkroniseras till en standby-server" #: replication/syncrep.c:261 #, c-format @@ -22165,7 +21951,7 @@ msgstr "%s får inte anropas i en undertransaktion" #: replication/walsender.c:1472 #, c-format msgid "terminating walsender process after promotion" -msgstr "stänger ner walsender-process efter befordring" +msgstr "stänger ner walsender-process efter befordran" #: replication/walsender.c:2000 #, c-format @@ -22182,9 +21968,9 @@ msgstr "kan inte köra SQL-kommandon i WAL-sändare för fysisk replikering" msgid "received replication command: %s" msgstr "tog emot replikeringskommando: %s" -#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2206 -#: tcop/postgres.c:2644 tcop/postgres.c:2721 +#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1142 +#: tcop/postgres.c:1500 tcop/postgres.c:1740 tcop/postgres.c:2210 +#: tcop/postgres.c:2648 tcop/postgres.c:2725 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "aktuella transaktionen har avbrutits, alla kommandon ignoreras tills slutet på transaktionen" @@ -22385,266 +22171,271 @@ msgstr "regel \"%s\" för relation \"%s\" existerar inte" msgid "renaming an ON SELECT rule is not allowed" msgstr "byta namn på en ON SELECT-regel tillåts inte" -#: rewrite/rewriteHandler.c:581 +#: rewrite/rewriteHandler.c:582 #, c-format msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "WITH-frågenamn \"%s\" finns både i en regelhändelse och i frågan som skrivs om" -#: rewrite/rewriteHandler.c:608 +#: rewrite/rewriteHandler.c:609 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "INSERT ... SELECT-regler stöds inte för frågor som har datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:661 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "kan inte ha RETURNING-listor i multipla regler" -#: rewrite/rewriteHandler.c:893 rewrite/rewriteHandler.c:932 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "kan inte sätta in ett icke-DEFAULT-värde i kolumn \"%s\"" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:961 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "Kolumn \"%s\" är en identitetskolumn definierad som GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:897 +#: rewrite/rewriteHandler.c:898 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Använd OVERRIDING SYSTEM VALUE för att överskugga." -#: rewrite/rewriteHandler.c:959 rewrite/rewriteHandler.c:967 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "kolumn \"%s\" kan bara uppdateras till DEFAULT" -#: rewrite/rewriteHandler.c:1114 rewrite/rewriteHandler.c:1132 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "flera tilldelningar till samma kolumn \"%s\"" -#: rewrite/rewriteHandler.c:1697 +#: rewrite/rewriteHandler.c:1698 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE stöds inte för relationer med regler." -#: rewrite/rewriteHandler.c:2110 rewrite/rewriteHandler.c:4204 +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "access till icke-system vy \"%s\" är begränsad" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "oändlig rekursion detekterad i reglerna för relation \"%s\"" -#: rewrite/rewriteHandler.c:2195 +#: rewrite/rewriteHandler.c:2204 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "oändlig rekursion detekterad i policy för relation \"%s\"" -#: rewrite/rewriteHandler.c:2547 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "Skräpkolumner i vy är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2552 +#: rewrite/rewriteHandler.c:2561 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Vykolumner som inte är kolumner i dess basrelation är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2555 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "Vykolumner som refererar till systemkolumner är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2558 +#: rewrite/rewriteHandler.c:2567 msgid "View columns that return whole-row references are not updatable." msgstr "Vykolumner som returnerar hel-rad-referenser är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2619 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Vyer som innehåller DISTINCT är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2622 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Vyer som innehåller GROUP BY är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2625 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "Vyer som innehåller HAVING är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2628 +#: rewrite/rewriteHandler.c:2637 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Vyer som innehåller UNION, INTERSECT eller EXCEPT är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2631 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "Vyer som innehåller WITH är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2634 +#: rewrite/rewriteHandler.c:2643 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Vyer som innehåller LIMIT eller OFFSET är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2646 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Vyer som returnerar aggregatfunktioner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2649 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "Vyer som returnerar fönsterfunktioner uppdateras inte automatiskt." -#: rewrite/rewriteHandler.c:2652 +#: rewrite/rewriteHandler.c:2661 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Vyer som returnerar mängd-returnerande funktioner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2659 rewrite/rewriteHandler.c:2663 -#: rewrite/rewriteHandler.c:2671 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2680 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Vyer som inte läser från en ensam tabell eller vy är inte automatiskt uppdateringsbar." -#: rewrite/rewriteHandler.c:2674 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Vyer som innehåller TABLESAMPLE är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2698 +#: rewrite/rewriteHandler.c:2707 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Vyer som inte har några uppdateringsbara kolumner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:3079 rewrite/rewriteHandler.c:3114 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kan inte sätta in i vy \"%s\"" -#: rewrite/rewriteHandler.c:3082 +#: rewrite/rewriteHandler.c:3091 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "För att tillåta insättning i en vy så skapa en INSTEAD OF INSERT-trigger eller en villkorslös ON INSERT DO INSTEAD-regel." -#: rewrite/rewriteHandler.c:3087 rewrite/rewriteHandler.c:3123 +#: rewrite/rewriteHandler.c:3096 rewrite/rewriteHandler.c:3132 #, c-format msgid "cannot update view \"%s\"" msgstr "kan inte uppdatera vy \"%s\"" -#: rewrite/rewriteHandler.c:3090 +#: rewrite/rewriteHandler.c:3099 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "För att tillåta uppdatering av en vy så skapa en INSTEAD OF UPDATE-trigger eller en villkorslös ON UPDATE DO INSTEAD-regel." -#: rewrite/rewriteHandler.c:3095 rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3104 rewrite/rewriteHandler.c:3141 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kan inte radera från vy \"%s\"" -#: rewrite/rewriteHandler.c:3098 +#: rewrite/rewriteHandler.c:3107 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "För att tillåta bortagning i en vy så skapa en INSTEAD OF DELETE-trigger eller en villkorslös ON DELETE DO INSTEAD-regel." -#: rewrite/rewriteHandler.c:3117 +#: rewrite/rewriteHandler.c:3126 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "För att tillåta insert till en vy med MERGE så krävs en INSTEAD OF INSERT-trigger." -#: rewrite/rewriteHandler.c:3126 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "För att tillåta uppdatering av en vy så krävs en INSTEAD OF UPDATE-trigger." -#: rewrite/rewriteHandler.c:3135 +#: rewrite/rewriteHandler.c:3144 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "För att tillåta borttagning från en vy så krävs en INSTEAD OF DELETE-trigger." -#: rewrite/rewriteHandler.c:3302 +#: rewrite/rewriteHandler.c:3319 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "kan inte insert:a i kolumn \"%s\" i vy \"%s\"" -#: rewrite/rewriteHandler.c:3310 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kan inte uppdatera kolumn \"%s\" i view \"%s\"" -#: rewrite/rewriteHandler.c:3318 -#, fuzzy, c-format +#: rewrite/rewriteHandler.c:3335 +#, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" -msgstr "kan inte insert:a i kolumn \"%s\" i vy \"%s\"" +msgstr "kan inte merge:a till kolumn \"%s\" i vy \"%s\"" -#: rewrite/rewriteHandler.c:3346 -#, fuzzy, c-format +#: rewrite/rewriteHandler.c:3363 +#, c-format msgid "cannot merge into view \"%s\"" -msgstr "kan inte sätta in i vy \"%s\"" +msgstr "kan inte merge:a till vy \"%s\"" -#: rewrite/rewriteHandler.c:3348 +#: rewrite/rewriteHandler.c:3365 #, c-format -msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others." -msgstr "" +msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." +msgstr "MERGE stöds inte för vyer med INSTEAD OF-trigger för vissa actions men inte för andra." -#: rewrite/rewriteHandler.c:3349 -#, fuzzy, c-format +#: rewrite/rewriteHandler.c:3366 +#, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." -msgstr "För att tillåta insättning i en vy så skapa en INSTEAD OF INSERT-trigger eller en villkorslös ON INSERT DO INSTEAD-regel." +msgstr "För att tillåta merge till en vy så antingen skapa en full uppsättning INSTEAD OF-triggers eller släng de befintliga INSERT OF-triggers." -#: rewrite/rewriteHandler.c:3862 +#: rewrite/rewriteHandler.c:3879 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "DO INSTEAD NOTIFY-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3873 +#: rewrite/rewriteHandler.c:3890 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "DO INSTEAD NOTHING-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3887 +#: rewrite/rewriteHandler.c:3904 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "villkorliga DO INSTEAD-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3891 +#: rewrite/rewriteHandler.c:3908 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "DO ALSO-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3896 +#: rewrite/rewriteHandler.c:3913 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "fler-satsiga DO INSTEAD-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:4156 +#: rewrite/rewriteHandler.c:4173 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Vyer med villkorliga DO INSTEAD-regler är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:4253 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "kan inte utföra INSERT RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4255 +#: rewrite/rewriteHandler.c:4272 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "Du behöver en villkorslös ON INSERT DO INSTEAD-regel med en RETURNING-klausul." -#: rewrite/rewriteHandler.c:4260 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "kan inte utföra UPDATE RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4262 +#: rewrite/rewriteHandler.c:4279 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "Du behöver en villkorslös ON UPDATE DO INSTEAD-regel med en RETURNING-klausul." -#: rewrite/rewriteHandler.c:4267 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "kan inte utföra DELETE RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4269 +#: rewrite/rewriteHandler.c:4286 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "Du behöver en villkorslös ON DELETE DO INSTEAD-regel med en RETURNING-klausul." -#: rewrite/rewriteHandler.c:4287 +#: rewrite/rewriteHandler.c:4304 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT med ON CONFLICT-klausul kan inte användas med tabell som har INSERT- eller UPDATE-regler" -#: rewrite/rewriteHandler.c:4344 +#: rewrite/rewriteHandler.c:4361 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH kan inte användas i en fråga där regler skrivit om den till flera olika frågor" @@ -22654,12 +22445,12 @@ msgstr "WITH kan inte användas i en fråga där regler skrivit om den till fler msgid "conditional utility statements are not implemented" msgstr "villkorliga hjälpsatser är inte implementerat" -#: rewrite/rewriteManip.c:1427 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "WHERE CURRENT OF för en vy är inte implementerat" -#: rewrite/rewriteManip.c:1762 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "NEW-variabler i ON UPDATE-regler kan inte referera till kolumner som är del av en multiple uppdatering i subjektets UPDATE-kommando" @@ -23145,7 +22936,7 @@ msgstr "Storlek på DSM-segment får inte vara noll" #: storage/ipc/dsm_registry.c:176 #, c-format msgid "requested DSM segment size does not match size of existing segment" -msgstr "" +msgstr "efterfrågad storlek på DSM-segment matchar inte storleken på nuvarande segment" #: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 #: tcop/backend_startup.c:304 @@ -23282,12 +23073,12 @@ msgstr "återställning väntar fortfarande efter %ld.%03d ms: %s" msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "återställning slutade vänta efter efter %ld.%03d ms: %s" -#: storage/ipc/standby.c:920 tcop/postgres.c:3168 +#: storage/ipc/standby.c:920 tcop/postgres.c:3172 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "avbryter sats på grund av konflikt med återställning" -#: storage/ipc/standby.c:921 tcop/postgres.c:2529 +#: storage/ipc/standby.c:921 tcop/postgres.c:2533 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "Användartransaktion orsakade deadlock för buffer vid återställning." @@ -23497,9 +23288,9 @@ msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "ej tillräckligt med element i RWConflictPool för att spara ner en läs/skriv-konflikt" #: storage/lmgr/predicate.c:654 storage/lmgr/predicate.c:679 -#, fuzzy, c-format +#, c-format msgid "You might need to run fewer transactions at a time or increase \"max_connections\"." -msgstr "Du kan behöva köra färre samtidiga transaktioner eller öka max_connections." +msgstr "Du kan behöva köra färre samtidiga transaktioner eller öka \"max_connections\"." #: storage/lmgr/predicate.c:678 #, c-format @@ -23551,9 +23342,9 @@ msgid "The transaction might succeed if retried." msgstr "Transaktionen kan lyckas om den körs igen." #: storage/lmgr/proc.c:348 -#, fuzzy, c-format +#, c-format msgid "number of requested standby connections exceeds \"max_wal_senders\" (currently %d)" -msgstr "antalet efterfrågade standby-anslutningar överskrider max_wal_senders (nu %d)" +msgstr "antalet efterfrågade standby-anslutningar överskrider \"max_wal_senders\" (nu %d)" #: storage/lmgr/proc.c:1541 #, c-format @@ -23714,9 +23505,9 @@ msgid "the database system is in recovery mode" msgstr "databassystemet är återställningsläge" #: tcop/backend_startup.c:414 -#, fuzzy, c-format +#, c-format msgid "received direct SSL connection request without ALPN protocol negotiation extension" -msgstr "direkt SSL-anslutning har upprättats utan utökning för ALPN-protokollförhandling" +msgstr "förfrågan för direkt SSL-anslutning har mottagits utan utökning för ALPN-protokollförhandling" #: tcop/backend_startup.c:420 #, c-format @@ -23818,8 +23609,8 @@ msgstr "kan inte anropa funktionen \"%s\" via fastpath-interface" msgid "fastpath function call: \"%s\" (OID %u)" msgstr "fastpath funktionsanrop: \"%s\" (OID %u)" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2055 tcop/postgres.c:2305 +#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605 +#: tcop/postgres.c:2059 tcop/postgres.c:2309 #, c-format msgid "duration: %s ms" msgstr "varaktighet %s ms" @@ -23849,320 +23640,320 @@ msgstr "ogiltig argumentstorlek %d i funktionsaropsmeddelande" msgid "incorrect binary data format in function argument %d" msgstr "inkorrekt binärt dataformat i funktionsargument %d" -#: tcop/postgres.c:463 tcop/postgres.c:4924 +#: tcop/postgres.c:467 tcop/postgres.c:4988 #, c-format msgid "invalid frontend message type %d" msgstr "ogiltig frontend-meddelandetyp %d" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1076 #, c-format msgid "statement: %s" msgstr "sats: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1374 #, c-format msgid "duration: %s ms statement: %s" msgstr "varaktighet: %s ms sats: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1480 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "kan inte stoppa in multipla kommandon i en förberedd sats" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1610 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "varaktighet: %s ms parse %s: %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2625 +#: tcop/postgres.c:1676 tcop/postgres.c:2629 #, c-format msgid "unnamed prepared statement does not exist" msgstr "förberedd sats utan namn existerar inte" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1717 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "bind-meddelande har %d parameterformat men %d parametrar" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1723 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "bind-meddelande ger %d parametrar men förberedd sats \"%s\" kräver %d" -#: tcop/postgres.c:1933 +#: tcop/postgres.c:1937 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "inkorrekt binärdataformat i bind-parameter %d" -#: tcop/postgres.c:2060 +#: tcop/postgres.c:2064 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "varaktighet: %s ms bind %s%s%s: %s" -#: tcop/postgres.c:2114 tcop/postgres.c:2707 +#: tcop/postgres.c:2118 tcop/postgres.c:2711 #, c-format msgid "portal \"%s\" does not exist" msgstr "portal \"%s\" existerar inte" -#: tcop/postgres.c:2185 +#: tcop/postgres.c:2189 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2187 tcop/postgres.c:2313 +#: tcop/postgres.c:2191 tcop/postgres.c:2317 msgid "execute fetch from" msgstr "kör hämtning från" -#: tcop/postgres.c:2188 tcop/postgres.c:2314 +#: tcop/postgres.c:2192 tcop/postgres.c:2318 msgid "execute" msgstr "kör" -#: tcop/postgres.c:2310 +#: tcop/postgres.c:2314 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "varaktighet: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2458 +#: tcop/postgres.c:2462 #, c-format msgid "prepare: %s" msgstr "prepare: %s" -#: tcop/postgres.c:2483 +#: tcop/postgres.c:2487 #, c-format msgid "Parameters: %s" msgstr "Parametrar: %s" -#: tcop/postgres.c:2498 +#: tcop/postgres.c:2502 #, c-format msgid "Abort reason: recovery conflict" msgstr "Abortskäl: återställningskonflikt" -#: tcop/postgres.c:2514 +#: tcop/postgres.c:2518 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Användaren höll delad bufferfastlåsning för länge." -#: tcop/postgres.c:2517 +#: tcop/postgres.c:2521 #, c-format msgid "User was holding a relation lock for too long." msgstr "Användare höll ett relationslås för länge." -#: tcop/postgres.c:2520 +#: tcop/postgres.c:2524 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "Användaren använde eller har använt ett tablespace som tagits bort." -#: tcop/postgres.c:2523 +#: tcop/postgres.c:2527 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "Användarfrågan kan ha behövt se radversioner som har tagits bort." -#: tcop/postgres.c:2526 +#: tcop/postgres.c:2530 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "Användaren använde en logisk replikeringsslot som måste invalideras." -#: tcop/postgres.c:2532 +#: tcop/postgres.c:2536 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Användare var ansluten till databas som måste slängas." -#: tcop/postgres.c:2571 +#: tcop/postgres.c:2575 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "portal \"%s\" parameter $%d = %s" -#: tcop/postgres.c:2574 +#: tcop/postgres.c:2578 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "portal \"%s\" parameter $%d" -#: tcop/postgres.c:2580 +#: tcop/postgres.c:2584 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "ej namngiven portalparameter $%d = %s" -#: tcop/postgres.c:2583 +#: tcop/postgres.c:2587 #, c-format msgid "unnamed portal parameter $%d" msgstr "ej namngiven portalparameter $%d" -#: tcop/postgres.c:2927 +#: tcop/postgres.c:2931 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "stänger anslutning på grund av oväntad SIGQUIT-signal" -#: tcop/postgres.c:2933 +#: tcop/postgres.c:2937 #, c-format msgid "terminating connection because of crash of another server process" msgstr "avbryter anslutning på grund av en krash i en annan serverprocess" -#: tcop/postgres.c:2934 +#: tcop/postgres.c:2938 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Postmastern har sagt åt denna serverprocess att rulla tillbaka den aktuella transaktionen och avsluta då en annan process har avslutats onormalt och har eventuellt trasat sönder delat minne." -#: tcop/postgres.c:2938 tcop/postgres.c:3191 +#: tcop/postgres.c:2942 tcop/postgres.c:3195 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "Du kan strax återansluta till databasen och upprepa kommandot." -#: tcop/postgres.c:2945 +#: tcop/postgres.c:2949 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "stänger anslutning på grund av kommando för omedelbar nedstängning" -#: tcop/postgres.c:3023 +#: tcop/postgres.c:3027 #, c-format msgid "floating-point exception" msgstr "flyttalsavbrott" -#: tcop/postgres.c:3024 +#: tcop/postgres.c:3028 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "En ogiltig flyttalsoperation har signalerats. Detta beror troligen på ett resultat som är utanför giltigt intervall eller en ogiltig operation så som division med noll." -#: tcop/postgres.c:3189 +#: tcop/postgres.c:3193 #, c-format msgid "terminating connection due to conflict with recovery" msgstr "avslutar anslutning på grund av konflikt med återställning" -#: tcop/postgres.c:3261 +#: tcop/postgres.c:3265 #, c-format msgid "canceling authentication due to timeout" msgstr "avbryter autentisering på grund av timeout" -#: tcop/postgres.c:3265 +#: tcop/postgres.c:3269 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "avslutar autovacuum-process på grund av ett administratörskommando" -#: tcop/postgres.c:3269 +#: tcop/postgres.c:3273 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "avslutar logisk replikeringsarbetare på grund av ett administratörskommando" -#: tcop/postgres.c:3289 +#: tcop/postgres.c:3293 #, c-format msgid "terminating connection due to administrator command" msgstr "avslutar anslutning på grund av ett administratörskommando" -#: tcop/postgres.c:3320 +#: tcop/postgres.c:3324 #, c-format msgid "connection to client lost" msgstr "anslutning till klient har brutits" -#: tcop/postgres.c:3372 +#: tcop/postgres.c:3376 #, c-format msgid "canceling statement due to lock timeout" msgstr "avbryter sats på grund av lås-timeout" -#: tcop/postgres.c:3379 +#: tcop/postgres.c:3383 #, c-format msgid "canceling statement due to statement timeout" msgstr "avbryter sats på grund av sats-timeout" -#: tcop/postgres.c:3386 +#: tcop/postgres.c:3390 #, c-format msgid "canceling autovacuum task" msgstr "avbryter autovacuum-uppgift" -#: tcop/postgres.c:3399 +#: tcop/postgres.c:3403 #, c-format msgid "canceling statement due to user request" msgstr "avbryter sats på användares begäran" -#: tcop/postgres.c:3420 +#: tcop/postgres.c:3424 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "terminerar anslutning på grund av idle-in-transaction-timeout" -#: tcop/postgres.c:3433 +#: tcop/postgres.c:3437 #, c-format msgid "terminating connection due to transaction timeout" msgstr "terminerar anslutning på grund av transaktionstimeout" -#: tcop/postgres.c:3446 +#: tcop/postgres.c:3450 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "stänger anslutning på grund av idle-session-timeout" -#: tcop/postgres.c:3536 +#: tcop/postgres.c:3540 #, c-format msgid "stack depth limit exceeded" msgstr "maximalt stackdjup överskridet" -#: tcop/postgres.c:3537 +#: tcop/postgres.c:3541 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Öka konfigurationsparametern \"max_stack_depth\" (nu %dkB) efter att ha undersökt att plattformens gräns för stackdjup är tillräcklig." -#: tcop/postgres.c:3584 +#: tcop/postgres.c:3588 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "\"max_stack_depth\" får ej överskrida %ldkB." -#: tcop/postgres.c:3586 +#: tcop/postgres.c:3590 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Öka plattformens stackdjupbegränsning via \"ulimit -s\" eller motsvarande." -#: tcop/postgres.c:3609 +#: tcop/postgres.c:3613 #, c-format msgid "\"client_connection_check_interval\" must be set to 0 on this platform." msgstr "\"client_connection_check_interval\" måste sättas till 0 på denna plattform." -#: tcop/postgres.c:3630 +#: tcop/postgres.c:3634 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Kan inte slå på parameter när \"log_statement_stats\" är satt." -#: tcop/postgres.c:3645 +#: tcop/postgres.c:3649 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Kan inte slå på \"log_statement_stats\" när \"log_parser_stats\", \"log_planner_stats\" eller \"log_executor_stats\" är satta." -#: tcop/postgres.c:4010 +#: tcop/postgres.c:4074 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "ogiltigt kommandoradsargument för serverprocess: %s" -#: tcop/postgres.c:4011 tcop/postgres.c:4017 +#: tcop/postgres.c:4075 tcop/postgres.c:4081 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: tcop/postgres.c:4015 +#: tcop/postgres.c:4079 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: ogiltigt kommandoradsargument: %s" -#: tcop/postgres.c:4068 +#: tcop/postgres.c:4132 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: ingen databas eller användarnamn angivet" -#: tcop/postgres.c:4821 +#: tcop/postgres.c:4885 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "ogiltig subtyp %d för CLOSE-meddelande" -#: tcop/postgres.c:4858 +#: tcop/postgres.c:4922 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "ogiltig subtyp %d för DESCRIBE-meddelande" -#: tcop/postgres.c:4945 +#: tcop/postgres.c:5009 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "fastpath-funktionsanrop stöds inte i en replikeringsanslutning" -#: tcop/postgres.c:4949 +#: tcop/postgres.c:5013 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "utökat frågeprotokoll stöds inte i en replikeringsanslutning" -#: tcop/postgres.c:5129 +#: tcop/postgres.c:5193 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "nedkoppling: sessionstid: %d:%02d:%02d.%03d användare=%s databas=%s värd=%s%s%s" @@ -24518,14 +24309,14 @@ msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "återställer existerande statistik för typ %s, db=%u, oid=%u" #: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 -#, fuzzy, c-format +#, c-format msgid "wait event \"%s\" already exists in type \"%s\"" -msgstr "typen \"%s\" finns redan i schema \"%s\"" +msgstr "wait event \"%s\" finns redan i type \"%s\"" #: utils/activity/wait_event.c:246 -#, fuzzy, c-format +#, c-format msgid "too many custom wait events" -msgstr "för många argument" +msgstr "för många egendefinierade wait event" #: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format @@ -24769,9 +24560,9 @@ msgid "array upper bound is too large: %d" msgstr "övre gräns för array är för stor: %d" #: utils/adt/arrayfuncs.c:538 -#, fuzzy, c-format +#, c-format msgid "array bound is out of integer range" -msgstr "array-index för jsonpath är utanför giltigt interval för integer" +msgstr "array-gräns är utanför giltigt interval för integer" #: utils/adt/arrayfuncs.c:637 utils/adt/arrayfuncs.c:669 #: utils/adt/arrayfuncs.c:704 utils/adt/arrayfuncs.c:898 @@ -26243,8 +26034,8 @@ msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typ #: utils/adt/jsonpath_exec.c:1385 #, c-format -msgid "jsonpath item method .%s() can only be applied to a bool, string, or numeric value" -msgstr "jsonpaths elementmetod .%s() kan bara appliceras på en bool, sträng eller ett numeriskt värde" +msgid "jsonpath item method .%s() can only be applied to a boolean, string, or numeric value" +msgstr "jsonpaths elementmetod .%s() kan bara appliceras på en boolean, sträng eller ett numeriskt värde" #: utils/adt/jsonpath_exec.c:1438 utils/adt/jsonpath_exec.c:1527 #, c-format @@ -26268,8 +26059,8 @@ msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typ #: utils/adt/jsonpath_exec.c:1666 #, c-format -msgid "jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value" -msgstr "jsonpaths elementmetod .%s() kan bara applicerars på en bool, sträng eller ett datetime-värde" +msgid "jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value" +msgstr "jsonpaths elementmetod .%s() kan bara applicerars på en boolean, sträng eller ett datetime-värde" #: utils/adt/jsonpath_exec.c:2155 #, c-format @@ -26371,8 +26162,8 @@ msgstr "Uttryck för JSON-sökväg för kolumn \"%s\" skall returnera en post ut #: utils/adt/jsonpath_exec.c:3987 utils/adt/jsonpath_exec.c:3992 #, c-format -msgid "Use WITH WRAPPER clause to wrap SQL/JSON items into array." -msgstr "Använd klausulen WITH WRAPPER för att packa SQL/JSON-poster i en array." +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." +msgstr "Använd klausulen WITH WRAPPER för att packa SQL/JSON-poster in i en array." #: utils/adt/jsonpath_exec.c:3991 #, c-format @@ -27073,7 +26864,7 @@ msgstr "Om du menade att använda regexp_replace() med en startstartparameter s #: utils/adt/regexp.c:716 utils/adt/regexp.c:725 utils/adt/regexp.c:1082 #: utils/adt/regexp.c:1146 utils/adt/regexp.c:1155 utils/adt/regexp.c:1164 #: utils/adt/regexp.c:1173 utils/adt/regexp.c:1853 utils/adt/regexp.c:1862 -#: utils/adt/regexp.c:1871 utils/misc/guc.c:6776 utils/misc/guc.c:6810 +#: utils/adt/regexp.c:1871 utils/misc/guc.c:6785 utils/misc/guc.c:6819 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ogiltigt värde för parameter \"%s\": %d" @@ -27111,8 +26902,8 @@ msgstr "mer än en funktion med namn %s" msgid "more than one operator named %s" msgstr "mer än en operator med namn %s" -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10424 -#: utils/adt/ruleutils.c:10637 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498 +#: utils/adt/ruleutils.c:10711 #, c-format msgid "too many arguments" msgstr "för många argument" @@ -27282,22 +27073,22 @@ msgstr "kan inte jämföra olika kolumntyper %s och %s vid postkolumn %d" msgid "cannot compare record types with different numbers of columns" msgstr "kan inte jämföra record-typer med olika antal kolumner" -#: utils/adt/ruleutils.c:2693 +#: utils/adt/ruleutils.c:2689 #, c-format msgid "input is a query, not an expression" msgstr "indata är en fråga, inte ett uttryck" -#: utils/adt/ruleutils.c:2705 +#: utils/adt/ruleutils.c:2701 #, c-format msgid "expression contains variables of more than one relation" msgstr "uttryck innehåller variabler till mer än en relation" -#: utils/adt/ruleutils.c:2712 +#: utils/adt/ruleutils.c:2708 #, c-format msgid "expression contains variables" msgstr "uttryck innehåller variabler" -#: utils/adt/ruleutils.c:5242 +#: utils/adt/ruleutils.c:5241 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "regel \"%s\" har en icke stödd händelsetyp %d" @@ -27390,9 +27181,9 @@ msgid "origin out of range" msgstr "origin utanför giltigt intervall" #: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 -#, fuzzy, c-format +#, c-format msgid "timestamps cannot be binned into infinite intervals" -msgstr "timestamps kan inte injusteras in i intervall som innehåller månader eller år" +msgstr "timestamps kan inte injusteras in i oändliga intervall" #: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format @@ -27552,7 +27343,7 @@ msgstr "kolumnen \"%s\" är inte av typen tsvector" #: utils/adt/tsvector_op.c:2807 #, c-format msgid "configuration column \"%s\" does not exist" -msgstr "konfigurationskolumnen \"%s\" existerar inte" +msgstr "kolumnen \"%s\" för konfiguration existerar inte" #: utils/adt/tsvector_op.c:2813 #, c-format @@ -27562,12 +27353,12 @@ msgstr "kolumn \"%s\" har inte regconfig-typ" #: utils/adt/tsvector_op.c:2820 #, c-format msgid "configuration column \"%s\" must not be null" -msgstr "konfigurationskolumn \"%s\" får inte vara null" +msgstr "kolumn \"%s\" för konfiguration får inte vara null" #: utils/adt/tsvector_op.c:2833 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" -msgstr "Textsökkonfigurationsnamn \"%s\" måste vara angivet med schema" +msgstr "Konfigurationsnamn \"%s\" för textsök måste vara angivet med schema" #: utils/adt/tsvector_op.c:2858 #, c-format @@ -28036,97 +27827,97 @@ msgstr "TRAP: misslyckad Assert(\"%s\"), Fil: \"%s\", Rad: %d, PID: %d)\n" msgid "error occurred before error message processing is available\n" msgstr "fel uppstod innan processning av felmeddelande är tillgängligt\n" -#: utils/error/elog.c:2117 +#: utils/error/elog.c:2134 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "kunde inte återöppna filen \"%s\" som stderr: %m" -#: utils/error/elog.c:2130 +#: utils/error/elog.c:2147 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "kunde inte återöppna filen \"%s\" som stdout: %m" -#: utils/error/elog.c:2166 +#: utils/error/elog.c:2183 #, c-format msgid "Invalid character" msgstr "Ogiltigt tecken" -#: utils/error/elog.c:2872 utils/error/elog.c:2899 utils/error/elog.c:2915 +#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932 msgid "[unknown]" msgstr "[okänd]" -#: utils/error/elog.c:3185 utils/error/elog.c:3509 utils/error/elog.c:3616 +#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633 msgid "missing error text" msgstr "saknar feltext" -#: utils/error/elog.c:3188 utils/error/elog.c:3191 +#: utils/error/elog.c:3205 utils/error/elog.c:3208 #, c-format msgid " at character %d" msgstr " vid tecken %d" -#: utils/error/elog.c:3201 utils/error/elog.c:3208 +#: utils/error/elog.c:3218 utils/error/elog.c:3225 msgid "DETAIL: " msgstr "DETALJ: " -#: utils/error/elog.c:3215 +#: utils/error/elog.c:3232 msgid "HINT: " msgstr "TIPS: " -#: utils/error/elog.c:3222 +#: utils/error/elog.c:3239 msgid "QUERY: " msgstr "FRÅGA: " -#: utils/error/elog.c:3229 +#: utils/error/elog.c:3246 msgid "CONTEXT: " msgstr "KONTEXT: " -#: utils/error/elog.c:3239 +#: utils/error/elog.c:3256 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "PLATS: %s, %s:%d\n" -#: utils/error/elog.c:3246 +#: utils/error/elog.c:3263 #, c-format msgid "LOCATION: %s:%d\n" msgstr "PLATS: %s:%d\n" -#: utils/error/elog.c:3253 +#: utils/error/elog.c:3270 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3265 +#: utils/error/elog.c:3282 msgid "STATEMENT: " msgstr "SATS: " -#: utils/error/elog.c:3661 +#: utils/error/elog.c:3678 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3665 +#: utils/error/elog.c:3682 msgid "LOG" msgstr "LOGG" -#: utils/error/elog.c:3668 +#: utils/error/elog.c:3685 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3671 +#: utils/error/elog.c:3688 msgid "NOTICE" msgstr "NOTIS" -#: utils/error/elog.c:3675 +#: utils/error/elog.c:3692 msgid "WARNING" msgstr "VARNING" -#: utils/error/elog.c:3678 +#: utils/error/elog.c:3695 msgid "ERROR" msgstr "FEL" -#: utils/error/elog.c:3681 +#: utils/error/elog.c:3698 msgid "FATAL" msgstr "FATALT" -#: utils/error/elog.c:3684 +#: utils/error/elog.c:3701 msgid "PANIC" msgstr "PANIK" @@ -28314,7 +28105,7 @@ msgstr "Rättigheterna skall vara u=rwx (0700) eller u=rwx,g=rx (0750)." msgid "could not change directory to \"%s\": %m" msgstr "kunde inte byta katalog till \"%s\": %m" -#: utils/init/miscinit.c:697 utils/misc/guc.c:3641 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3650 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "kan inte sätta parameter \"%s\" från en säkerhetsbegränsad operation" @@ -28410,7 +28201,7 @@ msgstr "Filen verkar ha lämnats kvar av misstag, men kan inte tas bort. Ta bort msgid "could not write lock file \"%s\": %m" msgstr "kunde inte skriva låsfil \"%s\": %m" -#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5715 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724 #, c-format msgid "could not read from file \"%s\": %m" msgstr "kunde inte läsa från fil \"%s\": %m" @@ -28708,9 +28499,9 @@ msgstr "Giltiga enheter för denna parameter är \"us\", \"ms\", \"s\", \"min\", msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "okänd konfigurationsparameter \"%s\" i fil \"%s\" rad %d" -#: utils/misc/guc.c:470 utils/misc/guc.c:3495 utils/misc/guc.c:3739 -#: utils/misc/guc.c:3837 utils/misc/guc.c:3935 utils/misc/guc.c:4059 -#: utils/misc/guc.c:4162 +#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748 +#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068 +#: utils/misc/guc.c:4171 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "parameter \"%s\" kan inte ändras utan att starta om servern" @@ -28825,112 +28616,117 @@ msgstr "%d%s%s är utanför giltigt intervall för parameter \"%s\" (%d%s%s .. % msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" msgstr "%g%s%s är utanför giltigt intervall för parameter \"%s\" (%g%s%s .. %g%s%s)" -#: utils/misc/guc.c:3447 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3465 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "kan inte sätta parametrar under en parallell operation" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "parameter \"%s\" can inte sättas under en parallell operation" -#: utils/misc/guc.c:3472 utils/misc/guc.c:4646 +#: utils/misc/guc.c:3481 utils/misc/guc.c:4655 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "parameter \"%s\" kan inte ändras" -#: utils/misc/guc.c:3505 +#: utils/misc/guc.c:3514 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "parameter \"%s\" kan inte ändras nu" -#: utils/misc/guc.c:3532 utils/misc/guc.c:3594 utils/misc/guc.c:4621 -#: utils/misc/guc.c:6712 +#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630 +#: utils/misc/guc.c:6721 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "rättighet saknas för att sätta parameter \"%s\"" -#: utils/misc/guc.c:3574 +#: utils/misc/guc.c:3583 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "parameter \"%s\" kan inte ändras efter uppkopplingen startats" -#: utils/misc/guc.c:3633 +#: utils/misc/guc.c:3642 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "kan inte sätta parameter \"%s\" inom en security-definer-funktion" -#: utils/misc/guc.c:3654 +#: utils/misc/guc.c:3663 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "parametern \"%s\" kunde inte återställas" -#: utils/misc/guc.c:3661 +#: utils/misc/guc.c:3670 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "parametern \"%s\" kan inte ändras lokalt i funktioner" -#: utils/misc/guc.c:4320 utils/misc/guc.c:4368 utils/misc/guc.c:5400 +#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409 #, c-format msgid "permission denied to examine \"%s\"" msgstr "rättighet saknas för att se \"%s\"" -#: utils/misc/guc.c:4321 utils/misc/guc.c:4369 utils/misc/guc.c:5401 +#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Bara roller med rättigheter från rollen \"%s\" får se denna parameter." -#: utils/misc/guc.c:4579 +#: utils/misc/guc.c:4588 #, c-format msgid "ALTER SYSTEM is not allowed in this environment" msgstr "ALTER SYSTEM tillåts inte i denna miljö" -#: utils/misc/guc.c:4611 +#: utils/misc/guc.c:4620 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "rättighet saknas för att utföra ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:4690 +#: utils/misc/guc.c:4699 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "parametervärde till ALTER SYSTEM kan inte innehålla nyradstecken" -#: utils/misc/guc.c:4735 +#: utils/misc/guc.c:4744 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "kunde inte parsa innehållet i fil \"%s\"" -#: utils/misc/guc.c:4917 +#: utils/misc/guc.c:4926 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "försök att omdefiniera parameter \"%s\"" -#: utils/misc/guc.c:5256 +#: utils/misc/guc.c:5265 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "ogiltigt konfigurationsparameternamn \"%s\", tas bort" -#: utils/misc/guc.c:5258 +#: utils/misc/guc.c:5267 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "\"%s\" är nu ett reserverat prefix." -#: utils/misc/guc.c:6135 +#: utils/misc/guc.c:6144 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "vid sättande av parameter \"%s\" till \"%s\"" -#: utils/misc/guc.c:6304 +#: utils/misc/guc.c:6313 #, c-format msgid "parameter \"%s\" could not be set" msgstr "parameter \"%s\" kunde inte sättas" -#: utils/misc/guc.c:6394 +#: utils/misc/guc.c:6403 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "kunde inte tolka inställningen för parameter \"%s\"" -#: utils/misc/guc.c:6844 +#: utils/misc/guc.c:6853 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ogiltigt värde för parameter \"%s\": %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "kan inte sätta parametrar under en parallell operation" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -28946,2061 +28742,2061 @@ msgstr "SET %s tar bara ett argument" msgid "SET requires parameter name" msgstr "SET kräver ett parameternamn" -#: utils/misc/guc_tables.c:675 +#: utils/misc/guc_tables.c:676 msgid "Ungrouped" msgstr "Ej grupperad" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:677 msgid "File Locations" msgstr "Filplatser" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / Connection Settings" msgstr "Uppkopplingar och Autentisering / Uppkopplingsinställningar" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / TCP Settings" msgstr "Uppkopplingar och Autentisering / TCP-inställningar" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / Authentication" msgstr "Uppkopplingar och Autentisering / Autentisering" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:681 msgid "Connections and Authentication / SSL" msgstr "Uppkopplingar och Autentisering / SSL" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Memory" msgstr "Resursanvändning / Minne" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:683 msgid "Resource Usage / Disk" msgstr "Resursanvändning / Disk" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Kernel Resources" msgstr "Resursanvändning / Kärnresurser" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Resursanvändning / Kostnadsbaserad Vacuum-fördröjning" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Background Writer" msgstr "Resursanvändning / Bakgrundskrivare" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:687 msgid "Resource Usage / Asynchronous Behavior" msgstr "Resursanvändning / Asynkront beteende" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead Log / Inställningar" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead Log / Checkpoint:er" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:690 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead Log / Arkivering" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead Log / Återställning" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead Log / Återställning från arkiv" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:693 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead Log / Återställningsmål" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:694 msgid "Write-Ahead Log / Summarization" msgstr "Write-Ahead Log / Summering" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:695 msgid "Replication / Sending Servers" msgstr "Replilering / Skickande servrar" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:696 msgid "Replication / Primary Server" msgstr "Replikering / Primärserver" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:697 msgid "Replication / Standby Servers" msgstr "Replikering / Standby-servrar" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:698 msgid "Replication / Subscribers" msgstr "Replikering / Prenumeranter" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Method Configuration" msgstr "Frågeoptimering / Planeringsmetodinställningar" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Planner Cost Constants" msgstr "Frågeoptimering / Plannerarens kostnadskonstanter" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Frågeoptimering / Genetisk frågeoptimerare" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:702 msgid "Query Tuning / Other Planner Options" msgstr "Frågeoptimering / Andra planeringsinställningar" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / Where to Log" msgstr "Rapportering och loggning / Logga var?" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / When to Log" msgstr "Rapportering och loggning / Logga när?" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / What to Log" msgstr "Rapportering och loggning / Logga vad?" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:706 msgid "Reporting and Logging / Process Title" msgstr "Rapportering och loggning / Processtitel" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Monitoring" msgstr "Statistik / Övervakning" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:708 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Statistik / Ihopsamlad fråge- och index-statistik" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:709 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Statement Behavior" msgstr "Standard för klientanslutning / Satsbeteende" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Standard för klientanslutning / Lokal och formattering" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Standard för klientanslutning / Förladdning av delat bibliotek" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:713 msgid "Client Connection Defaults / Other Defaults" msgstr "Standard för klientanslutning / Övriga standardvärden" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:714 msgid "Lock Management" msgstr "Låshantering" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:715 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Version och plattformskompabilitet / Tidigare PostrgreSQL-versioner" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:716 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Version och plattformskompabilitet / Andra plattformar och klienter" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:717 msgid "Error Handling" msgstr "Felhantering" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:718 msgid "Preset Options" msgstr "Förinställningsflaggor" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:719 msgid "Customized Options" msgstr "Ändrade flaggor" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:720 msgid "Developer Options" msgstr "Utvecklarflaggor" -#: utils/misc/guc_tables.c:774 +#: utils/misc/guc_tables.c:775 msgid "Enables the planner's use of sequential-scan plans." msgstr "Aktiverar planerarens användning av planer med sekvensiell skanning." -#: utils/misc/guc_tables.c:784 +#: utils/misc/guc_tables.c:785 msgid "Enables the planner's use of index-scan plans." msgstr "Aktiverar planerarens användning av planer med indexskanning." -#: utils/misc/guc_tables.c:794 +#: utils/misc/guc_tables.c:795 msgid "Enables the planner's use of index-only-scan plans." msgstr "Aktiverar planerarens användning av planer med skanning av enbart index." -#: utils/misc/guc_tables.c:804 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Aktiverar planerarens användning av planer med bitmapskanning." -#: utils/misc/guc_tables.c:814 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of TID scan plans." msgstr "Aktiverar planerarens användning av planer med TID-skanning." -#: utils/misc/guc_tables.c:824 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of explicit sort steps." msgstr "Slår på planerarens användning av explicita sorteringssteg." -#: utils/misc/guc_tables.c:834 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of incremental sort steps." msgstr "Aktiverar planerarens användning av inkrementella sorteringssteg." -#: utils/misc/guc_tables.c:844 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Aktiverar planerarens användning av planer med hash-aggregering" -#: utils/misc/guc_tables.c:854 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of materialization." msgstr "Aktiverar planerarens användning av materialisering." -#: utils/misc/guc_tables.c:864 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of memoization." msgstr "Aktiverar planerarens användning av memoization." -#: utils/misc/guc_tables.c:874 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of nested-loop join plans." msgstr "Aktiverar planerarens användning av planer med nästlad loop-join," -#: utils/misc/guc_tables.c:884 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of merge join plans." msgstr "Aktiverar planerarens användning av merge-join-planer." -#: utils/misc/guc_tables.c:894 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of hash join plans." msgstr "Aktiverar planerarens användning av hash-join-planer." -#: utils/misc/guc_tables.c:904 +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of gather merge plans." msgstr "Aktiverar planerarens användning av planer med gather-merge." -#: utils/misc/guc_tables.c:914 +#: utils/misc/guc_tables.c:915 msgid "Enables partitionwise join." msgstr "Aktiverar join per partition." -#: utils/misc/guc_tables.c:924 +#: utils/misc/guc_tables.c:925 msgid "Enables partitionwise aggregation and grouping." msgstr "Aktiverar aggregering och gruppering per partition." -#: utils/misc/guc_tables.c:934 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of parallel append plans." msgstr "Aktiverar planerarens användning av planer med parallell append." -#: utils/misc/guc_tables.c:944 +#: utils/misc/guc_tables.c:945 msgid "Enables the planner's use of parallel hash plans." msgstr "Aktiverar planerarens användning av planer med parallell hash." -#: utils/misc/guc_tables.c:954 +#: utils/misc/guc_tables.c:955 msgid "Enables plan-time and execution-time partition pruning." msgstr "Aktiverar rensning av partitioner vid planering och vid körning." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:956 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned." msgstr "Tillåter att frågeplaneraren och exekveraren jämför partitionsgränser med villkor i frågan för att bestämma vilka partitioner som skall skannas." -#: utils/misc/guc_tables.c:966 +#: utils/misc/guc_tables.c:967 msgid "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions." msgstr "Slår på planerarens möjlighet att skapa planer som tillhandahåller försorterad indata till aggregatfunktioner med ORDER BY / DISTINCT." -#: utils/misc/guc_tables.c:969 +#: utils/misc/guc_tables.c:970 msgid "Allows the query planner to build plans that provide presorted input for aggregate functions with an ORDER BY / DISTINCT clause. When disabled, implicit sorts are always performed during execution." msgstr "Tillåter att planeraren kan skapa planer som tillhandahåller försorterad indata till aggregatfunktioner med en ORDER BY / DISTINCT-klausul. Om avstängd så kommer implicita sorteringar alltid utföras vid exekvering." -#: utils/misc/guc_tables.c:981 +#: utils/misc/guc_tables.c:982 msgid "Enables the planner's use of async append plans." msgstr "Aktiverar planerarens användning av planer med async append." -#: utils/misc/guc_tables.c:991 +#: utils/misc/guc_tables.c:992 msgid "Enables reordering of GROUP BY keys." -msgstr "" +msgstr "Aktiverar omkastning av nycklar i GROUP BY." -#: utils/misc/guc_tables.c:1001 +#: utils/misc/guc_tables.c:1002 msgid "Enables genetic query optimization." msgstr "Aktiverar genetisk frågeoptimering." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1003 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Denna algoritm försöker utföra planering utan fullständig sökning." -#: utils/misc/guc_tables.c:1016 +#: utils/misc/guc_tables.c:1017 msgid "Shows whether the current user is a superuser." msgstr "Visar om den aktuella användaren är en superuser." -#: utils/misc/guc_tables.c:1031 +#: utils/misc/guc_tables.c:1032 msgid "Allows running the ALTER SYSTEM command." msgstr "Tillåter att kommandot ALTER SYSTEM körs." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1033 msgid "Can be set to off for environments where global configuration changes should be made using a different method." -msgstr "" +msgstr "Kan sättas till av för miljöer där global konfiguration skall hanteras på annat sätt." -#: utils/misc/guc_tables.c:1042 +#: utils/misc/guc_tables.c:1043 msgid "Enables advertising the server via Bonjour." msgstr "Aktiverar annonsering av servern via Bonjour." -#: utils/misc/guc_tables.c:1051 +#: utils/misc/guc_tables.c:1052 msgid "Collects transaction commit time." msgstr "Samlar in tid för transaktions-commit." -#: utils/misc/guc_tables.c:1060 +#: utils/misc/guc_tables.c:1061 msgid "Enables SSL connections." msgstr "Tillåter SSL-anslutningar." -#: utils/misc/guc_tables.c:1069 +#: utils/misc/guc_tables.c:1070 msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "Styr hurvida \"ssl_passphrase_command\" anropas vid omladdning av server." -#: utils/misc/guc_tables.c:1078 +#: utils/misc/guc_tables.c:1079 msgid "Give priority to server ciphersuite order." msgstr "Ge prioritet till serverns ordning av kryptometoder." -#: utils/misc/guc_tables.c:1087 +#: utils/misc/guc_tables.c:1088 msgid "Forces synchronization of updates to disk." msgstr "Tvingar synkronisering av uppdateringar till disk." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1089 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This ensures that a database cluster will recover to a consistent state after an operating system or hardware crash." msgstr "Servern kommer använda systemanropet fsync() på ett antal platser för att se till att uppdateringar fysiskt skrivs till disk. Detta för att säkerställa att databasklustret kan starta i ett konsistent tillstånd efter en operativsystemkrash eller hårdvarukrash." -#: utils/misc/guc_tables.c:1099 +#: utils/misc/guc_tables.c:1100 msgid "Continues processing after a checksum failure." msgstr "Fortsätter processande efter checksummefel." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1101 msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled." msgstr "Normalt vid detektion av checksummefel så rapporterar PostgreSQL felet och avbryter den aktuella transaktionen. Sätts ignore_checksum_failure till true så kommer systemet hoppa över felet (men fortfarande rapportera en varning). Detta beteende kan orsaka krasher eller andra allvarliga problem. Detta påverkas bara om checksummor är påslaget." -#: utils/misc/guc_tables.c:1114 +#: utils/misc/guc_tables.c:1115 msgid "Continues processing past damaged page headers." msgstr "Fortsätter processande efter trasiga sidhuvuden." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1116 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting \"zero_damaged_pages\" to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page." msgstr "Normalt vid detektion av trasiga sidhuvuden så rapporterar PostgreSQL felet och avbryter den aktuella transaktionen. Sätts \"zero_damaged_pages\" till true så kommer systemet istället rapportera en varning, nollställa den trasiga sidan samt fortsätta processa. Detta kommer förstöra data (alla rader i den trasiga sidan)." -#: utils/misc/guc_tables.c:1128 +#: utils/misc/guc_tables.c:1129 msgid "Continues recovery after an invalid pages failure." msgstr "Fortsätter återställande efter fel på grund av ogiltiga sidor." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1130 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting \"ignore_invalid_pages\" to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode." msgstr "Normalt vid detektion av WAL-poster som refererar till ogiltiga sidor under återställning så kommer PostgreSQL att signalera ett fel på PANIC-nivå och avbryta återställningen. Sätts \"ignore_invalid_pages\" till true så kommer systemet hoppa över ogiltiga sidreferenser i WAL-poster (men fortfarande rapportera en varning) och fortsätta återställningen. Detta beteende kan orsaka krasher, dataförluster, sprida eller dölja korruption eller ge andra allvarliga problem. Detta påverkar bara under återställning eller i standby-läge." -#: utils/misc/guc_tables.c:1147 +#: utils/misc/guc_tables.c:1148 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "Skriver fulla sidor till WAL första gången de ändras efter en checkpoint." -#: utils/misc/guc_tables.c:1148 +#: utils/misc/guc_tables.c:1149 msgid "A page write in process during an operating system crash might be only partially written to disk. During recovery, the row changes stored in WAL are not enough to recover. This option writes pages when first modified after a checkpoint to WAL so full recovery is possible." msgstr "En sidskrivning som sker vid en operativsystemkrash kan bli delvis utskriven till disk. Under återställning så kommer radändringar i WAL:en inte vara tillräckligt för att återställa datan. Denna flagga skriver ut sidor först efter att en WAL-checkpoint gjorts vilket gör att full återställning kan ske." -#: utils/misc/guc_tables.c:1161 +#: utils/misc/guc_tables.c:1162 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification." msgstr "Skriver fulla sidor till WAL första gången de ändras efter en checkpoint, även för ickekritisk ändring." -#: utils/misc/guc_tables.c:1171 +#: utils/misc/guc_tables.c:1172 msgid "Writes zeroes to new WAL files before first use." msgstr "Skriv nollor till nya WAL-filer innan första användning." -#: utils/misc/guc_tables.c:1181 +#: utils/misc/guc_tables.c:1182 msgid "Recycles WAL files by renaming them." msgstr "Återanvänder WAL-filer genom att byta namn på dem." -#: utils/misc/guc_tables.c:1191 +#: utils/misc/guc_tables.c:1192 msgid "Logs each checkpoint." msgstr "Logga varje checkpoint." -#: utils/misc/guc_tables.c:1200 +#: utils/misc/guc_tables.c:1201 msgid "Logs each successful connection." msgstr "Logga varje lyckad anslutning." -#: utils/misc/guc_tables.c:1209 -#, fuzzy +#: utils/misc/guc_tables.c:1210 msgid "Logs details of pre-authentication connection handshake." -msgstr "Uppkopplingar och Autentisering / Uppkopplingsinställningar" +msgstr "Logga detaljer om anslutningshandskakning före autentisering." -#: utils/misc/guc_tables.c:1219 +#: utils/misc/guc_tables.c:1220 msgid "Logs end of a session, including duration." msgstr "Loggar slut på session, inklusive längden." -#: utils/misc/guc_tables.c:1228 +#: utils/misc/guc_tables.c:1229 msgid "Logs each replication command." msgstr "Loggar alla replikeringskommanon." -#: utils/misc/guc_tables.c:1237 +#: utils/misc/guc_tables.c:1238 msgid "Shows whether the running server has assertion checks enabled." msgstr "Visar om den körande servern har assert-kontroller påslagna." -#: utils/misc/guc_tables.c:1248 +#: utils/misc/guc_tables.c:1249 msgid "Terminate session on any error." msgstr "Avbryt sessionen vid fel." -#: utils/misc/guc_tables.c:1257 +#: utils/misc/guc_tables.c:1258 msgid "Reinitialize server after backend crash." msgstr "Återinitiera servern efter en backend-krash." -#: utils/misc/guc_tables.c:1266 +#: utils/misc/guc_tables.c:1267 msgid "Remove temporary files after backend crash." msgstr "Ta bort temporära filer efter en backend-krash." -#: utils/misc/guc_tables.c:1276 +#: utils/misc/guc_tables.c:1277 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "Skicka SIGABRT och inte SIGQUIT till barnprocesser efter att backend:en krashat." -#: utils/misc/guc_tables.c:1286 +#: utils/misc/guc_tables.c:1287 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Skicka SIGABRT och inte SIGKILL till barnprocesser som fastnat." -#: utils/misc/guc_tables.c:1297 +#: utils/misc/guc_tables.c:1298 msgid "Logs the duration of each completed SQL statement." msgstr "Loggar tiden för varje avslutad SQL-sats." -#: utils/misc/guc_tables.c:1306 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's parse tree." msgstr "Loggar alla frågors parse-träd." -#: utils/misc/guc_tables.c:1315 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's rewritten parse tree." msgstr "Logga alla frågors omskrivet parse-träd." -#: utils/misc/guc_tables.c:1324 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's execution plan." msgstr "Logga alla frågors körningsplan." -#: utils/misc/guc_tables.c:1333 +#: utils/misc/guc_tables.c:1334 msgid "Indents parse and plan tree displays." msgstr "Indentera parse och planeringsträdutskrifter" -#: utils/misc/guc_tables.c:1342 +#: utils/misc/guc_tables.c:1343 msgid "Writes parser performance statistics to the server log." msgstr "Skriver parserns prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1351 +#: utils/misc/guc_tables.c:1352 msgid "Writes planner performance statistics to the server log." msgstr "Skriver planerarens prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1360 +#: utils/misc/guc_tables.c:1361 msgid "Writes executor performance statistics to the server log." msgstr "Skrivere exekverarens prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1369 +#: utils/misc/guc_tables.c:1370 msgid "Writes cumulative performance statistics to the server log." msgstr "Skriver ackumulerad prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1379 +#: utils/misc/guc_tables.c:1380 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "Loggar statisik för användning av systemresurser (minne och CPU) för olika B-tree-operationer." -#: utils/misc/guc_tables.c:1391 +#: utils/misc/guc_tables.c:1392 msgid "Collects information about executing commands." msgstr "Samla information om körda kommanon." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1393 msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution." msgstr "Slår på insamling av information om det nu körande kommandot för varje session, tillsammans med klockslaget när det kommandot började köra." -#: utils/misc/guc_tables.c:1402 +#: utils/misc/guc_tables.c:1403 msgid "Collects statistics on database activity." msgstr "Samla in statistik om databasaktivitet." -#: utils/misc/guc_tables.c:1411 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for database I/O activity." msgstr "Samla in timingstatistik om databasens I/O-aktivitet." -#: utils/misc/guc_tables.c:1420 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for WAL I/O activity." msgstr "Samla in timingstatistik om I/O-aktivitet för WAL." -#: utils/misc/guc_tables.c:1430 +#: utils/misc/guc_tables.c:1431 msgid "Updates the process title to show the active SQL command." msgstr "Uppdaterar processtitel till att visa aktivt SQL-kommando." -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1432 msgid "Enables updating of the process title every time a new SQL command is received by the server." msgstr "Slår på uppdatering av processtiteln varje gång ett nytt SQL-kommando tas emot av servern." -#: utils/misc/guc_tables.c:1440 +#: utils/misc/guc_tables.c:1441 msgid "Starts the autovacuum subprocess." msgstr "Starta autovacuum-barnprocess." -#: utils/misc/guc_tables.c:1450 +#: utils/misc/guc_tables.c:1451 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Skapar debug-output för LISTEN och NOTIFY." -#: utils/misc/guc_tables.c:1462 +#: utils/misc/guc_tables.c:1463 msgid "Emits information about lock usage." msgstr "Visar information om låsanvändning." -#: utils/misc/guc_tables.c:1472 +#: utils/misc/guc_tables.c:1473 msgid "Emits information about user lock usage." msgstr "Visar information om användares låsanvändning." -#: utils/misc/guc_tables.c:1482 +#: utils/misc/guc_tables.c:1483 msgid "Emits information about lightweight lock usage." msgstr "Visar information om lättviktig låsanvändning." -#: utils/misc/guc_tables.c:1492 +#: utils/misc/guc_tables.c:1493 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "Dumpar information om alla aktuella lås när en deadlock-timeout sker." -#: utils/misc/guc_tables.c:1504 +#: utils/misc/guc_tables.c:1505 msgid "Logs long lock waits." msgstr "Loggar långa väntetider på lås." -#: utils/misc/guc_tables.c:1513 +#: utils/misc/guc_tables.c:1514 msgid "Logs standby recovery conflict waits." msgstr "Loggar väntande på återställningskonflikter i standby" -#: utils/misc/guc_tables.c:1522 +#: utils/misc/guc_tables.c:1523 msgid "Logs the host name in the connection logs." msgstr "Loggar hostnamnet i anslutningsloggen." -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1524 msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty." msgstr "Som standard visar anslutningsloggen bara IP-adressen för den anslutande värden. Om du vill att värdnamnet skall visas så kan du slå på detta men beroende på hur uppsättningen av namnuppslag är gjored så kan detta ha en markant prestandapåverkan." -#: utils/misc/guc_tables.c:1534 +#: utils/misc/guc_tables.c:1535 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Tolkar \"uttryck=NULL\" som \"uttryck IS NULL\"." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1536 msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)." msgstr "Om påslagen så kommer uttryck på formen uttryck = NULL (eller NULL = uttryck) att behandlas som uttryck IS NULL, det vill säga returnera true om uttryck evalueras till värdet null eller evalueras till false annars. Det korrekta beteendet för uttryck = NULL är att alltid returnera null (okänt)." -#: utils/misc/guc_tables.c:1547 +#: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "Ställer in standard read-only-status för nya transaktioner." -#: utils/misc/guc_tables.c:1557 +#: utils/misc/guc_tables.c:1558 msgid "Sets the current transaction's read-only status." msgstr "Ställer in nuvarande transaktions read-only-status." -#: utils/misc/guc_tables.c:1567 +#: utils/misc/guc_tables.c:1568 msgid "Sets the default deferrable status of new transactions." msgstr "Ställer in standard deferrable-status för nya transaktioner." -#: utils/misc/guc_tables.c:1576 +#: utils/misc/guc_tables.c:1577 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures." msgstr "Bestämmer om en serialiserbar transaktion för läsning kommer fördröjas tills den kan köras utan serialiseringsfel." -#: utils/misc/guc_tables.c:1586 +#: utils/misc/guc_tables.c:1587 msgid "Enable row security." msgstr "Aktiverar radsäkerhet." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1588 msgid "When enabled, row security will be applied to all users." msgstr "Om aktiv så kommer radsäkerhet användas för alla användare." -#: utils/misc/guc_tables.c:1595 +#: utils/misc/guc_tables.c:1596 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "Kontrollera funktionskroppen vid CREATE FUNCTION och CREATE PROCEDURE." -#: utils/misc/guc_tables.c:1604 +#: utils/misc/guc_tables.c:1605 msgid "Enable input of NULL elements in arrays." msgstr "Aktiverar inmatning av NULL-element i arrayer." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1606 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally." msgstr "Om påslagen så kommer ej citerade NULL i indatavärden för en array betyda värdet null, annars tolkas det bokstavligt." -#: utils/misc/guc_tables.c:1621 +#: utils/misc/guc_tables.c:1622 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "WITH OIDS stöds inte längre; denna kan bara vara false." -#: utils/misc/guc_tables.c:1631 +#: utils/misc/guc_tables.c:1632 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "Starta en subprocess för att fånga output från stderr och/eller csv-loggar till loggfiler." -#: utils/misc/guc_tables.c:1640 +#: utils/misc/guc_tables.c:1641 msgid "Truncate existing log files of same name during log rotation." msgstr "Trunkera existerande loggfiler med samma namn under loggrotering." -#: utils/misc/guc_tables.c:1651 +#: utils/misc/guc_tables.c:1652 msgid "Emit information about resource usage in sorting." msgstr "Skicka ut information om resursanvändning vid sortering." -#: utils/misc/guc_tables.c:1665 +#: utils/misc/guc_tables.c:1666 msgid "Generate debugging output for synchronized scanning." msgstr "Generera debug-output för synkroniserad skanning." -#: utils/misc/guc_tables.c:1680 +#: utils/misc/guc_tables.c:1681 msgid "Enable bounded sorting using heap sort." msgstr "Slår på begränsad sortering med heap-sort." -#: utils/misc/guc_tables.c:1693 +#: utils/misc/guc_tables.c:1694 msgid "Emit WAL-related debugging output." msgstr "Skicka ut WAL-relaterad debug-data." -#: utils/misc/guc_tables.c:1705 +#: utils/misc/guc_tables.c:1706 msgid "Shows whether datetimes are integer based." msgstr "Visa hurvida datetime är heltalsbaserad" -#: utils/misc/guc_tables.c:1716 +#: utils/misc/guc_tables.c:1717 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgstr "Anger hurvida Kerberos- och GSSAPI-användarnamn skall tolkas skiftlägesokänsligt." -#: utils/misc/guc_tables.c:1726 +#: utils/misc/guc_tables.c:1727 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "Anger hurvida GSSAPI-delegering skall accpeteras från klienten." -#: utils/misc/guc_tables.c:1736 +#: utils/misc/guc_tables.c:1737 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Varna om backåtstreck-escape i vanliga stränglitteraler." -#: utils/misc/guc_tables.c:1746 +#: utils/misc/guc_tables.c:1747 msgid "Causes '...' strings to treat backslashes literally." msgstr "Gör att '...'-stängar tolkar bakåtstreck bokstavligt." -#: utils/misc/guc_tables.c:1757 +#: utils/misc/guc_tables.c:1758 msgid "Enable synchronized sequential scans." msgstr "Slå på synkroniserad sekvensiell skanning." -#: utils/misc/guc_tables.c:1767 +#: utils/misc/guc_tables.c:1768 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Anger hurvida man skall inkludera eller exkludera transaktion för återställningmål." -#: utils/misc/guc_tables.c:1777 +#: utils/misc/guc_tables.c:1778 msgid "Starts the WAL summarizer process to enable incremental backup." -msgstr "" +msgstr "Startar process för WAL-summering för att tillåta inkrementella backuper." -#: utils/misc/guc_tables.c:1787 +#: utils/misc/guc_tables.c:1788 msgid "Allows connections and queries during recovery." msgstr "Tillåt anslutningar och frågor under återställning." -#: utils/misc/guc_tables.c:1797 +#: utils/misc/guc_tables.c:1798 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "Tillåter feedback från en hot standby till primären för att undvika frågekonflikter." -#: utils/misc/guc_tables.c:1807 +#: utils/misc/guc_tables.c:1808 msgid "Shows whether hot standby is currently active." msgstr "Visar hurvida hot standby är aktiv för närvarande." -#: utils/misc/guc_tables.c:1818 +#: utils/misc/guc_tables.c:1819 msgid "Allows modifications of the structure of system tables." msgstr "Tillåter strukturförändringar av systemtabeller." -#: utils/misc/guc_tables.c:1829 +#: utils/misc/guc_tables.c:1830 msgid "Disables reading from system indexes." msgstr "Stänger av läsning från systemindex." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1831 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "Det förhindrar inte uppdatering av index så det är helt säkert att använda. Det värsta som kan hända är att det är långsamt." -#: utils/misc/guc_tables.c:1841 +#: utils/misc/guc_tables.c:1842 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Tillåter tabellutrymmen direkt inuti pg_tblspc, för testning" -#: utils/misc/guc_tables.c:1852 +#: utils/misc/guc_tables.c:1853 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "Slår på bakåtkompabilitetsläge för rättighetskontroller på stora objekt." -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1854 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "Hoppar över rättighetskontroller vid läsning eller modifiering av stora objekt, för kompabilitet med PostgreSQL-releaser innan 9.0." -#: utils/misc/guc_tables.c:1863 +#: utils/misc/guc_tables.c:1864 msgid "When generating SQL fragments, quote all identifiers." msgstr "När SQL-fragment genereras så citera alla identifierare." -#: utils/misc/guc_tables.c:1873 +#: utils/misc/guc_tables.c:1874 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Visar om datachecksummor är påslagna för detta kluster." -#: utils/misc/guc_tables.c:1884 +#: utils/misc/guc_tables.c:1885 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "Lägg till sekvensnummer till syslog-meddelanden för att undvika att duplikat tas bort." -#: utils/misc/guc_tables.c:1894 +#: utils/misc/guc_tables.c:1895 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "Dela meddelanden som skickas till syslog till egna rader och begränsa till 1024 byte." -#: utils/misc/guc_tables.c:1904 +#: utils/misc/guc_tables.c:1905 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Bestämmer om \"Gather\" och \"Gather Merge\" också exekverar subplaner." -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1906 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "Skall gather-noder också exekvera subplaner eller bara samla in tupler?" -#: utils/misc/guc_tables.c:1915 +#: utils/misc/guc_tables.c:1916 msgid "Allow JIT compilation." msgstr "Tillåt JIT-kompilering." -#: utils/misc/guc_tables.c:1926 +#: utils/misc/guc_tables.c:1927 msgid "Register JIT-compiled functions with debugger." msgstr "Registrera JIT-kompilerade funktioner hos debuggern." -#: utils/misc/guc_tables.c:1943 +#: utils/misc/guc_tables.c:1944 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Skriv ut LLVM-bitkod för att möjliggöra JIT-debuggning." -#: utils/misc/guc_tables.c:1954 +#: utils/misc/guc_tables.c:1955 msgid "Allow JIT compilation of expressions." msgstr "Tillåt JIT-kompilering av uttryck." -#: utils/misc/guc_tables.c:1965 +#: utils/misc/guc_tables.c:1966 msgid "Register JIT-compiled functions with perf profiler." msgstr "Registrera JIT-kompilerade funktioner med perf-profilerare." -#: utils/misc/guc_tables.c:1982 +#: utils/misc/guc_tables.c:1983 msgid "Allow JIT compilation of tuple deforming." msgstr "Tillåt JIT-kompilering av tupeluppdelning." -#: utils/misc/guc_tables.c:1993 +#: utils/misc/guc_tables.c:1994 msgid "Whether to continue running after a failure to sync data files." msgstr "Hurvida vi skall fortsätta efter ett fel att synka datafiler." -#: utils/misc/guc_tables.c:2002 +#: utils/misc/guc_tables.c:2003 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "Anger hurvida en WAL-mottagare skall skapa en temporär replikeringsslot om ingen permanent slot är konfigurerad." -#: utils/misc/guc_tables.c:2011 +#: utils/misc/guc_tables.c:2012 msgid "Enables event triggers." msgstr "Aktiverar händelsetriggrar." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2013 msgid "When enabled, event triggers will fire for all applicable statements." msgstr "Om aktiverad så kommer händelsetriggrar anropas för alla satser där det går." -#: utils/misc/guc_tables.c:2021 -msgid "Enables a physical standby to synchronize logical failover slots from the primary server." -msgstr "Tillåter att en fysisk standby synkroniserar logiska slottar för failover från primära servern." +#: utils/misc/guc_tables.c:2022 +msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." +msgstr "Tillåter att en fysisk standby synkroniserar logiska replikeringsslottar för failover från primära servern." -#: utils/misc/guc_tables.c:2039 +#: utils/misc/guc_tables.c:2040 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "Sätter tiden vi väntar innan vi tvingar ett byte till nästa WAL-fil." -#: utils/misc/guc_tables.c:2050 +#: utils/misc/guc_tables.c:2051 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "Sätter tiden att vänta efter authentiserng vid uppstart av anslutningen." -#: utils/misc/guc_tables.c:2052 utils/misc/guc_tables.c:2774 +#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 msgid "This allows attaching a debugger to the process." msgstr "Detta tillåter att man ansluter en debugger till processen." -#: utils/misc/guc_tables.c:2061 +#: utils/misc/guc_tables.c:2062 msgid "Sets the default statistics target." msgstr "Sätter standardstatistikmålet." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2063 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "Detta gäller tabellkolumner som inte har ett kolumnspecifikt mål satt med ALTER TABLE SET STATISTICS." -#: utils/misc/guc_tables.c:2071 +#: utils/misc/guc_tables.c:2072 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "Sätter en övre gräns på FROM-listans storlek där subfrågor slås isär." -#: utils/misc/guc_tables.c:2073 +#: utils/misc/guc_tables.c:2074 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "Planeraren kommer slå samman subfrågor med yttre frågor om den resulterande FROM-listan inte har fler än så här många poster." -#: utils/misc/guc_tables.c:2084 +#: utils/misc/guc_tables.c:2085 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "Sätter en övre gräns på FROM-listans storlek där JOIN-konstruktioner plattas till." -#: utils/misc/guc_tables.c:2086 +#: utils/misc/guc_tables.c:2087 msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result." msgstr "Planeraren kommer platta till explicita JOIN-konstruktioner till listor av FROM-poster när resultatet blir en lista med max så här många poster." -#: utils/misc/guc_tables.c:2097 +#: utils/misc/guc_tables.c:2098 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "Sätter en undre gräns på antal FROM-poster när GEQO används." -#: utils/misc/guc_tables.c:2107 +#: utils/misc/guc_tables.c:2108 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: effort används som standard för andra GEQO-parametrar." -#: utils/misc/guc_tables.c:2117 +#: utils/misc/guc_tables.c:2118 msgid "GEQO: number of individuals in the population." msgstr "GEQO: antal individer i populationen." -#: utils/misc/guc_tables.c:2118 utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 msgid "Zero selects a suitable default value." msgstr "Noll väljer ett lämpligt standardvärde." -#: utils/misc/guc_tables.c:2127 +#: utils/misc/guc_tables.c:2128 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: antal iterationer för algoritmen." -#: utils/misc/guc_tables.c:2139 +#: utils/misc/guc_tables.c:2140 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Sätter tiden som väntas på ett lås innan kontroll av deadlock sker." -#: utils/misc/guc_tables.c:2150 +#: utils/misc/guc_tables.c:2151 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "Sätter maximal fördröjning innan frågor avbryts när en \"hot standby\"-server processar arkiverad WAL-data." -#: utils/misc/guc_tables.c:2161 +#: utils/misc/guc_tables.c:2162 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "Sätter maximal fördröjning innan frågor avbryts när en \"hot stanby\"-server processar strömmad WAL-data." -#: utils/misc/guc_tables.c:2172 +#: utils/misc/guc_tables.c:2173 msgid "Sets the minimum delay for applying changes during recovery." msgstr "Ställer in minsta fördröjning för att applicera ändringar under återställning." -#: utils/misc/guc_tables.c:2183 +#: utils/misc/guc_tables.c:2184 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "Sätter maximalt intervall mellan statusrapporter till skickande server från WAL-mottagaren." -#: utils/misc/guc_tables.c:2194 +#: utils/misc/guc_tables.c:2195 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "Sätter maximal väntetid för att ta emot data från skickande server." -#: utils/misc/guc_tables.c:2205 +#: utils/misc/guc_tables.c:2206 msgid "Sets the maximum number of concurrent connections." msgstr "Sätter maximalt antal samtidiga anslutningar." -#: utils/misc/guc_tables.c:2216 +#: utils/misc/guc_tables.c:2217 msgid "Sets the number of connection slots reserved for superusers." msgstr "Sätter antalet anslutningsslottar som reserverats för superusers." -#: utils/misc/guc_tables.c:2226 +#: utils/misc/guc_tables.c:2227 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "Sätter antalet anslutningsslottar som reserverats för roller med rättigheter från pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2237 +#: utils/misc/guc_tables.c:2238 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Mängd dynamiskt delat minne som reserveras vid uppstart" -#: utils/misc/guc_tables.c:2252 +#: utils/misc/guc_tables.c:2253 msgid "Sets the number of shared memory buffers used by the server." msgstr "Sätter antalet delade minnesbuffrar som används av servern." -#: utils/misc/guc_tables.c:2263 +#: utils/misc/guc_tables.c:2264 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Sätter buffer-poolens storlek för VACUUM, ANALYZE och autovacuum." -#: utils/misc/guc_tables.c:2274 +#: utils/misc/guc_tables.c:2275 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "Visa storlek på serverns huvudsakliga delade minnesarea (avrundat upp till närmaste MB)." -#: utils/misc/guc_tables.c:2285 +#: utils/misc/guc_tables.c:2286 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "Visa antal stora sidor som krävs för den huvudsakliga delade minnesarean." -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2287 msgid "-1 indicates that the value could not be determined." msgstr "-1 betyder att värdet inte kunde bestämmas." -#: utils/misc/guc_tables.c:2296 +#: utils/misc/guc_tables.c:2297 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." -msgstr "" +msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av commit-tidsstämplar." -#: utils/misc/guc_tables.c:2297 utils/misc/guc_tables.c:2352 -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 +#: utils/misc/guc_tables.c:2364 msgid "Specify 0 to have this value determined as a fraction of shared_buffers." -msgstr "" +msgstr "Ange 0 för att sätta detta värde till en bråkdel av shared_buffers." -#: utils/misc/guc_tables.c:2307 +#: utils/misc/guc_tables.c:2308 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." -msgstr "" +msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av MultiXact-medlemmar." -#: utils/misc/guc_tables.c:2318 +#: utils/misc/guc_tables.c:2319 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." -msgstr "" +msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av MultiXact-offset." -#: utils/misc/guc_tables.c:2329 +#: utils/misc/guc_tables.c:2330 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." -msgstr "" +msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av LISTEN/NOTIFY-meddelande." -#: utils/misc/guc_tables.c:2340 +#: utils/misc/guc_tables.c:2341 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." -msgstr "" +msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av serialiserbara transaktioner." -#: utils/misc/guc_tables.c:2351 -#, fuzzy -msgid "Sets the size of the dedicated buffer pool used for the sub-transaction cache." -msgstr "Sätter namnet på replikeringsslotten som skall användas av den skickande servern." +#: utils/misc/guc_tables.c:2352 +msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." +msgstr "Sätter storlek på den dedikerade bufferpoolen som används som cache för undertransaktioner." -#: utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2363 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." -msgstr "" +msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av transaktionsstatus." -#: utils/misc/guc_tables.c:2373 +#: utils/misc/guc_tables.c:2374 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Sätter maximalt antal temporära buffertar som används per session." -#: utils/misc/guc_tables.c:2384 +#: utils/misc/guc_tables.c:2385 msgid "Sets the TCP port the server listens on." msgstr "Sätter TCP-porten som servern lyssnar på." -#: utils/misc/guc_tables.c:2394 +#: utils/misc/guc_tables.c:2395 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Sätter accessrättigheter för Unix-domainuttag (socket)." -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2396 msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "Unixdomänuttag (socket) använder unix vanliga filsystemsrättigheter. Parametervärdet förväntas vara en numerisk rättighetsangivelse så som accepteras av systemanropen chmod och umask. (För att använda det vanliga oktala formatet så måste numret börja med 0 (noll).)" -#: utils/misc/guc_tables.c:2409 +#: utils/misc/guc_tables.c:2410 msgid "Sets the file permissions for log files." msgstr "Sätter filrättigheter för loggfiler." -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2411 msgid "The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "Parametervärdet förväntas vara en numerisk rättighetsangivelse så som accepteras av systemanropen chmod och umask. (För att använda det vanliga oktala formatet så måste numret börja med 0 (noll).)" -#: utils/misc/guc_tables.c:2424 +#: utils/misc/guc_tables.c:2425 msgid "Shows the mode of the data directory." msgstr "Visar rättigheter för datakatalog" -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2426 msgid "The parameter value is a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "Parametervärdet är en numerisk rättighetsangivelse så som accepteras av systemanropen chmod och umask. (För att använda det vanliga oktala formatet så måste numret börja med 0 (noll).)" -#: utils/misc/guc_tables.c:2438 +#: utils/misc/guc_tables.c:2439 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Sätter maximalt minne som används för frågors arbetsyta." -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2440 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "Så här mycket minne kan användas av varje intern sorteringsoperation resp. hash-tabell innan temporära filer på disk börjar användas." -#: utils/misc/guc_tables.c:2451 +#: utils/misc/guc_tables.c:2457 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Sätter det maximala minnet som får användas för underhållsoperationer." -#: utils/misc/guc_tables.c:2452 +#: utils/misc/guc_tables.c:2458 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Detta inkluderar operationer som VACUUM och CREATE INDEX." -#: utils/misc/guc_tables.c:2462 +#: utils/misc/guc_tables.c:2468 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Sätter det maximala minnet som får användas för logisk avkodning." -#: utils/misc/guc_tables.c:2463 +#: utils/misc/guc_tables.c:2469 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "Så här mycket minne kan användas av varje intern omsorteringsbuffer innan data spills till disk." -#: utils/misc/guc_tables.c:2479 +#: utils/misc/guc_tables.c:2485 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Sätter det maximala stackdjupet, i kilobyte." -#: utils/misc/guc_tables.c:2490 +#: utils/misc/guc_tables.c:2496 msgid "Limits the total size of all temporary files used by each process." msgstr "Begränsar den totala storleken för alla temporära filer som används i en process." -#: utils/misc/guc_tables.c:2491 +#: utils/misc/guc_tables.c:2497 msgid "-1 means no limit." msgstr "-1 betyder ingen gräns." -#: utils/misc/guc_tables.c:2501 +#: utils/misc/guc_tables.c:2507 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Vacuum-kostnad för en sida som hittas i buffer-cache:n." -#: utils/misc/guc_tables.c:2511 +#: utils/misc/guc_tables.c:2517 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Vacuum-kostnad för en sida som inte hittas i buffer-cache:n." -#: utils/misc/guc_tables.c:2521 +#: utils/misc/guc_tables.c:2527 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Vacuum-kostnad för sidor som smutsats ner vid vacuum." -#: utils/misc/guc_tables.c:2531 +#: utils/misc/guc_tables.c:2537 msgid "Vacuum cost amount available before napping." msgstr "Vacuum-kostnad kvar innan pausande." -#: utils/misc/guc_tables.c:2541 +#: utils/misc/guc_tables.c:2547 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Vacuum-kostnad kvar innan pausande, för autovacuum." -#: utils/misc/guc_tables.c:2551 +#: utils/misc/guc_tables.c:2557 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "Sätter det maximala antalet filer som en serverprocess kan ha öppna på en gång." -#: utils/misc/guc_tables.c:2564 +#: utils/misc/guc_tables.c:2570 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Sätter det maximala antalet förberedda transaktioner man får ha på en gång." -#: utils/misc/guc_tables.c:2575 +#: utils/misc/guc_tables.c:2581 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Sätter minsta tabell-OID för spårning av lås." -#: utils/misc/guc_tables.c:2576 +#: utils/misc/guc_tables.c:2582 msgid "Is used to avoid output on system tables." msgstr "Används för att undvika utdata för systemtabeller." -#: utils/misc/guc_tables.c:2585 +#: utils/misc/guc_tables.c:2591 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Sätter OID för tabellen med ovillkorlig låsspårning." -#: utils/misc/guc_tables.c:2597 +#: utils/misc/guc_tables.c:2603 msgid "Sets the maximum allowed duration of any statement." msgstr "Sätter den maximala tiden som en sats får köra." -#: utils/misc/guc_tables.c:2598 utils/misc/guc_tables.c:2609 -#: utils/misc/guc_tables.c:2620 utils/misc/guc_tables.c:2631 -#: utils/misc/guc_tables.c:2642 +#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615 +#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637 +#: utils/misc/guc_tables.c:2648 msgid "A value of 0 turns off the timeout." msgstr "Värdet 0 stänger av timeout:en." -#: utils/misc/guc_tables.c:2608 +#: utils/misc/guc_tables.c:2614 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Sätter den maximala tiden som man får vänta på ett lås." -#: utils/misc/guc_tables.c:2619 +#: utils/misc/guc_tables.c:2625 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "Sätter den maximalt tillåtna inaktiva tiden mellan frågor i en transaktion." -#: utils/misc/guc_tables.c:2630 +#: utils/misc/guc_tables.c:2636 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." msgstr "Sätter den maximala tillåtana tiden för en transaktion i en session (ej en preparerad transaktion)." -#: utils/misc/guc_tables.c:2641 +#: utils/misc/guc_tables.c:2647 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "Sätter den maximalt tillåtna inaktiva tiden mellan frågor utanför en transaktion." -#: utils/misc/guc_tables.c:2652 +#: utils/misc/guc_tables.c:2658 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "Minimal ålder där VACUUM skall frysa en tabellrad." -#: utils/misc/guc_tables.c:2662 +#: utils/misc/guc_tables.c:2668 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "Ålder där VACUUM skall skanna hela tabellen för att frysa tupler." -#: utils/misc/guc_tables.c:2672 +#: utils/misc/guc_tables.c:2678 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "Minsta ålder där VACUUM skall frysa en MultiXactId i en tabellrad." -#: utils/misc/guc_tables.c:2682 +#: utils/misc/guc_tables.c:2688 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "Multixact-ålder där VACUUM skall skanna hela tabellen för att frysa tupler." -#: utils/misc/guc_tables.c:2692 +#: utils/misc/guc_tables.c:2698 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Ålder där VACUUM skall startas som skyddsåtgärd för att undvika wraparound-stopp." -#: utils/misc/guc_tables.c:2701 +#: utils/misc/guc_tables.c:2707 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Multixact-ålder där VACUUM skall startas som skyddsåtgärd för att undvika wraparound-stopp." -#: utils/misc/guc_tables.c:2714 +#: utils/misc/guc_tables.c:2720 msgid "Sets the maximum number of locks per transaction." msgstr "Sätter det maximala antalet lås per transaktion." -#: utils/misc/guc_tables.c:2715 -#, fuzzy +#: utils/misc/guc_tables.c:2721 msgid "The shared lock table is sized on the assumption that at most \"max_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." -msgstr "Den delade låstabellen har storlek efter antagandet att maximalt max_locks_per_transaction objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." +msgstr "Den delade låstabellen har storlek efter antagandet att maximalt \"max_locks_per_transaction\" objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." -#: utils/misc/guc_tables.c:2726 +#: utils/misc/guc_tables.c:2732 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Sätter det maximala antalet predikatlås per transaktion." -#: utils/misc/guc_tables.c:2727 -#, fuzzy +#: utils/misc/guc_tables.c:2733 msgid "The shared predicate lock table is sized on the assumption that at most \"max_pred_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." -msgstr "Den delade predikatlåstabellen har storlek efter antagandet att maximalt max_pred_locks_per_transaction objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." +msgstr "Den delade predikatlåstabellen har storlek efter antagandet att maximalt \"max_pred_locks_per_transaction\" objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." -#: utils/misc/guc_tables.c:2738 +#: utils/misc/guc_tables.c:2744 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "Sätter det maximala antalet predikatlåsta sidor och tupler per relation." -#: utils/misc/guc_tables.c:2739 +#: utils/misc/guc_tables.c:2745 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock." msgstr "Om fler än detta totala antal sidor och tupler för samma relation är låsta av en anslutning så ersätts dessa lås med ett lås på relationen." -#: utils/misc/guc_tables.c:2749 +#: utils/misc/guc_tables.c:2755 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "Sätter det maximala antalet predikatlåsta tupler per sida." -#: utils/misc/guc_tables.c:2750 +#: utils/misc/guc_tables.c:2756 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock." msgstr "Om fler än detta antal tupler på samma sida är låsta av en anslutning så ersätts dessa lås med ett lås på sidan." -#: utils/misc/guc_tables.c:2760 +#: utils/misc/guc_tables.c:2766 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Sätter maximalt tillåten tid att slutföra klientautentisering." -#: utils/misc/guc_tables.c:2772 +#: utils/misc/guc_tables.c:2778 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "Sätter tiden att vänta före authentiserng vid uppstart av anslutningen.." -#: utils/misc/guc_tables.c:2784 +#: utils/misc/guc_tables.c:2790 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." msgstr "Sätter det maximala antalet allokerade sidor till kö för NOTIFY / LISTEN." -#: utils/misc/guc_tables.c:2794 +#: utils/misc/guc_tables.c:2800 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Bufferstorlek för read-ahead av WAL vid återställning." -#: utils/misc/guc_tables.c:2795 +#: utils/misc/guc_tables.c:2801 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "Maximal längd att läsa i förväg av WAL för att prefetch:a refererade datablock." -#: utils/misc/guc_tables.c:2805 +#: utils/misc/guc_tables.c:2811 msgid "Sets the size of WAL files held for standby servers." msgstr "Sätter storlek på WAL-filer som sparas för standby-servrar." -#: utils/misc/guc_tables.c:2816 +#: utils/misc/guc_tables.c:2822 msgid "Sets the minimum size to shrink the WAL to." msgstr "Sätter maximal storlek som WAL kan krympas till." -#: utils/misc/guc_tables.c:2828 +#: utils/misc/guc_tables.c:2834 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Sätter WAL-storlek som triggar en checkpoint." -#: utils/misc/guc_tables.c:2840 +#: utils/misc/guc_tables.c:2846 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Sätter maximal tid mellan två automatiska WAL-checkpoint:er." -#: utils/misc/guc_tables.c:2851 +#: utils/misc/guc_tables.c:2857 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "Sätter maximal tid innan en varning ges för att stor WAL-volymn gör att checkpoint triggas för ofta." -#: utils/misc/guc_tables.c:2853 +#: utils/misc/guc_tables.c:2859 msgid "Write a message to the server log if checkpoints caused by the filling of WAL segment files happen more frequently than this amount of time. Zero turns off the warning." msgstr "Skriv ett meddelande i serverloggen om checkpoint:er som orsakas av fulla WAL-segmentfiler händer oftare än denna tid. Noll stänger av varningen." -#: utils/misc/guc_tables.c:2866 utils/misc/guc_tables.c:3084 -#: utils/misc/guc_tables.c:3138 +#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 +#: utils/misc/guc_tables.c:3144 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "Antal sidor varefter tidigare skrivningar flush:as till disk." -#: utils/misc/guc_tables.c:2877 +#: utils/misc/guc_tables.c:2883 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Sätter antal buffrar för disksidor i delat minne för WAL." -#: utils/misc/guc_tables.c:2878 +#: utils/misc/guc_tables.c:2884 msgid "Specify -1 to have this value determined as a fraction of shared_buffers." -msgstr "" +msgstr "Ange -1 för att sätta detta värde till en bråkdel av shared_buffers." -#: utils/misc/guc_tables.c:2888 +#: utils/misc/guc_tables.c:2894 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Tid mellan WAL-flush:ar utförda i WAL-skrivaren." -#: utils/misc/guc_tables.c:2899 +#: utils/misc/guc_tables.c:2905 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "Mängden WAL utskrivna av WAL-skrivaren som triggar en flush." -#: utils/misc/guc_tables.c:2910 +#: utils/misc/guc_tables.c:2916 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "Minimal storlek på ny fil som skall fsync:as istället för att skriva till WAL." -#: utils/misc/guc_tables.c:2921 +#: utils/misc/guc_tables.c:2927 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "Sätter maximalt antal samtidigt körande WAL-sändarprocesser." -#: utils/misc/guc_tables.c:2932 +#: utils/misc/guc_tables.c:2938 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Sätter maximalt antal samtidigt definierade replikeringsslottar." -#: utils/misc/guc_tables.c:2942 +#: utils/misc/guc_tables.c:2948 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "Sätter maximalt WAL-storlek som kan reserveras av replikeringsslottar." -#: utils/misc/guc_tables.c:2943 +#: utils/misc/guc_tables.c:2949 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk." msgstr "Replikeringsslottar kommer markeras som misslyckade och segment kommer släppas till borttagning eller återanvändning när så här mycket plats används av WAL på disk." -#: utils/misc/guc_tables.c:2955 +#: utils/misc/guc_tables.c:2961 msgid "Sets the maximum time to wait for WAL replication." msgstr "Sätter maximal tid att vänta på WAL-replikering." -#: utils/misc/guc_tables.c:2966 +#: utils/misc/guc_tables.c:2972 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "Sätter fördröjning i mikrosekunder mellan transaktions-commit ochj flush:ning av WAL till disk." -#: utils/misc/guc_tables.c:2978 +#: utils/misc/guc_tables.c:2984 msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." msgstr "Sätter minsta antal samtida öppna transaktioner som krävs innan vi utför en \"commit_delay\"." -#: utils/misc/guc_tables.c:2989 +#: utils/misc/guc_tables.c:2995 msgid "Sets the number of digits displayed for floating-point values." msgstr "Sätter antal siffror som visas för flyttalsvärden." -#: utils/misc/guc_tables.c:2990 +#: utils/misc/guc_tables.c:2996 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode." msgstr "Detta påverkar real, double precision och geometriska datatyper. Noll eller negativt parametervärde läggs till standard antal siffror (FLT_DIG eller DBL_DIG respektive). Ett värde större än noll väljer ett exakt utmatningsläge." -#: utils/misc/guc_tables.c:3002 +#: utils/misc/guc_tables.c:3008 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." msgstr "Sätter minimal körtid där ett urval av långsammare satser kommer loggas. Urvalet bestämms av log_statement_sample_rate." -#: utils/misc/guc_tables.c:3005 +#: utils/misc/guc_tables.c:3011 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "Noll loggar ett urval som inkluderar alla frågor. -1 stänger av denna funktion." -#: utils/misc/guc_tables.c:3015 +#: utils/misc/guc_tables.c:3021 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "Sätter minimal körtid där alla långsammare satser kommer loggas." -#: utils/misc/guc_tables.c:3017 +#: utils/misc/guc_tables.c:3023 msgid "Zero prints all queries. -1 turns this feature off." msgstr "Noll skriver ut alla frågor. -1 stänger av denna finess." -#: utils/misc/guc_tables.c:3027 +#: utils/misc/guc_tables.c:3033 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "Sätter minimal körtid där långsammare autovacuum-operationer kommer loggas." -#: utils/misc/guc_tables.c:3029 +#: utils/misc/guc_tables.c:3035 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "Noll skriver ut alla operationer. -1 stänger av autovacuum." -#: utils/misc/guc_tables.c:3039 +#: utils/misc/guc_tables.c:3045 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "Sätter maximal längd i byte på data som loggas för bind-parametrar vid loggning av satser." -#: utils/misc/guc_tables.c:3041 utils/misc/guc_tables.c:3053 +#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 msgid "-1 to print values in full." msgstr "-1 för att skriva ut hela värden." -#: utils/misc/guc_tables.c:3051 +#: utils/misc/guc_tables.c:3057 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "Sätter maximal längs i byte på data som loggas för bind-parametrar vid loggning av satser i samband med fel." -#: utils/misc/guc_tables.c:3063 +#: utils/misc/guc_tables.c:3069 msgid "Background writer sleep time between rounds." msgstr "Bakgrundsskrivarens sleep-tid mellan körningar." -#: utils/misc/guc_tables.c:3074 +#: utils/misc/guc_tables.c:3080 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "Bakgrundsskrivarens maximala antal LRU-sidor som flush:as per omgång." -#: utils/misc/guc_tables.c:3097 +#: utils/misc/guc_tables.c:3103 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "Antal samtidiga förfrågningar som kan effektivt kan hanteras av disksystemet." -#: utils/misc/guc_tables.c:3111 +#: utils/misc/guc_tables.c:3117 msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "En variant av \"effective_io_concurrency\" som används för underhållsarbete." -#: utils/misc/guc_tables.c:3126 +#: utils/misc/guc_tables.c:3132 msgid "Limit on the size of data reads and writes." -msgstr "" +msgstr "Begränsa storlek på data för läsning och skrivning." -#: utils/misc/guc_tables.c:3151 +#: utils/misc/guc_tables.c:3157 msgid "Maximum number of concurrent worker processes." msgstr "Maximalt antal samtidiga arbetsprocesser." -#: utils/misc/guc_tables.c:3163 +#: utils/misc/guc_tables.c:3169 msgid "Maximum number of logical replication worker processes." msgstr "Maximalt antal arbetsprocesser för logisk replikering." -#: utils/misc/guc_tables.c:3175 +#: utils/misc/guc_tables.c:3181 msgid "Maximum number of table synchronization workers per subscription." msgstr "Maximalt antal arbetare som synkroniserar tabeller per prenumeration." -#: utils/misc/guc_tables.c:3187 +#: utils/misc/guc_tables.c:3193 msgid "Maximum number of parallel apply workers per subscription." msgstr "Maximalt antal parallella arbetare som applicerar ändring per prenumeration." -#: utils/misc/guc_tables.c:3197 +#: utils/misc/guc_tables.c:3203 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "Sätter tiden vi väntar innan vi tvingar rotering av loggfil." -#: utils/misc/guc_tables.c:3209 +#: utils/misc/guc_tables.c:3215 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "Sätter maximalt storlek en loggfil kan bli innan vi tvingar rotering." -#: utils/misc/guc_tables.c:3221 +#: utils/misc/guc_tables.c:3227 msgid "Shows the maximum number of function arguments." msgstr "Visar maximalt antal funktionsargument." -#: utils/misc/guc_tables.c:3232 +#: utils/misc/guc_tables.c:3238 msgid "Shows the maximum number of index keys." msgstr "Visar maximalt antal indexnycklar." -#: utils/misc/guc_tables.c:3243 +#: utils/misc/guc_tables.c:3249 msgid "Shows the maximum identifier length." msgstr "Visar den maximala identifierarlängden." -#: utils/misc/guc_tables.c:3254 +#: utils/misc/guc_tables.c:3260 msgid "Shows the size of a disk block." msgstr "Visar storleken på ett diskblock." -#: utils/misc/guc_tables.c:3265 +#: utils/misc/guc_tables.c:3271 msgid "Shows the number of pages per disk file." msgstr "Visar antal sidor per diskfil." -#: utils/misc/guc_tables.c:3276 +#: utils/misc/guc_tables.c:3282 msgid "Shows the block size in the write ahead log." msgstr "Visar blockstorleken i the write-ahead-loggen." -#: utils/misc/guc_tables.c:3287 +#: utils/misc/guc_tables.c:3293 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "Sätter väntetiden innan databasen försöker ta emot WAL efter ett misslyckat försök." -#: utils/misc/guc_tables.c:3299 +#: utils/misc/guc_tables.c:3305 msgid "Shows the size of write ahead log segments." msgstr "Visar storleken på write-ahead-log-segment." -#: utils/misc/guc_tables.c:3312 +#: utils/misc/guc_tables.c:3318 msgid "Time for which WAL summary files should be kept." -msgstr "" +msgstr "Tid som filer för WAL-summering skall behållas." -#: utils/misc/guc_tables.c:3325 +#: utils/misc/guc_tables.c:3331 msgid "Time to sleep between autovacuum runs." msgstr "Tid att sova mellan körningar av autovacuum." -#: utils/misc/guc_tables.c:3335 +#: utils/misc/guc_tables.c:3341 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Minst antal tupel-uppdateringar eller raderingar innan vacuum." -#: utils/misc/guc_tables.c:3344 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "Minsta antal tupel-insert innnan vacuum eller -1 för att stänga av insert-vacuum." -#: utils/misc/guc_tables.c:3353 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "Minsta antal tupel-insert, -update eller -delete innan analyze." -#: utils/misc/guc_tables.c:3363 +#: utils/misc/guc_tables.c:3369 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "Ålder då autovacuum körs på en tabell för att förhindra wrapaound på transaktions-ID." -#: utils/misc/guc_tables.c:3375 +#: utils/misc/guc_tables.c:3381 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "Ålder på multixact då autovacuum körs på en tabell för att förhindra wrapaound på multixact." -#: utils/misc/guc_tables.c:3385 +#: utils/misc/guc_tables.c:3391 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "Sätter maximalt antal samtidigt körande arbetsprocesser för autovacuum." -#: utils/misc/guc_tables.c:3395 +#: utils/misc/guc_tables.c:3401 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "Sätter maximalt antal parallella processer per underhållsoperation." -#: utils/misc/guc_tables.c:3405 +#: utils/misc/guc_tables.c:3411 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Sätter maximalt antal parallella processer per exekveringsnod." -#: utils/misc/guc_tables.c:3416 +#: utils/misc/guc_tables.c:3422 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "Sätter maximalt antal parallella arbetare som kan vara aktiva på en gång." -#: utils/misc/guc_tables.c:3427 +#: utils/misc/guc_tables.c:3433 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "Sätter maximalt minne som kan användas av varje arbetsprocess för autovacuum." -#: utils/misc/guc_tables.c:3438 +#: utils/misc/guc_tables.c:3444 msgid "Time between issuing TCP keepalives." msgstr "Tid mellan skickande av TCP-keepalive." -#: utils/misc/guc_tables.c:3439 utils/misc/guc_tables.c:3450 -#: utils/misc/guc_tables.c:3574 +#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 +#: utils/misc/guc_tables.c:3580 msgid "A value of 0 uses the system default." msgstr "Värdet 0 anger systemets standardvärde." -#: utils/misc/guc_tables.c:3449 +#: utils/misc/guc_tables.c:3455 msgid "Time between TCP keepalive retransmits." msgstr "Tid mellan omsändning av TCP-keepalive." -#: utils/misc/guc_tables.c:3460 +#: utils/misc/guc_tables.c:3466 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "SSL-förhandling stöds inte längre; denna kan bara vara 0." -#: utils/misc/guc_tables.c:3471 +#: utils/misc/guc_tables.c:3477 msgid "Maximum number of TCP keepalive retransmits." msgstr "Maximalt antal omsändningar av TCP-keepalive." -#: utils/misc/guc_tables.c:3472 +#: utils/misc/guc_tables.c:3478 msgid "Number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default." msgstr "Atalet keepalive-omsändingar i rad som kan försvinna innan en anslutning anses vara död. Värdet 0 betyder systemstandardvärdet." -#: utils/misc/guc_tables.c:3483 +#: utils/misc/guc_tables.c:3489 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Sätter maximalt tillåtna resultat för exakt sökning med GIN." -#: utils/misc/guc_tables.c:3494 +#: utils/misc/guc_tables.c:3500 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Sätter planerarens antagande om totala storleken på datacachen." -#: utils/misc/guc_tables.c:3495 +#: utils/misc/guc_tables.c:3501 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each." msgstr "Det är totala storleken på cachen (kernelcache och delade buffertar) som användas för PostgreSQLs datafiler. Det mäts i disksidor som normalt är 8 kb styck." -#: utils/misc/guc_tables.c:3506 +#: utils/misc/guc_tables.c:3512 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "Sätter minsta mängd tabelldata för en parallell skanning." -#: utils/misc/guc_tables.c:3507 +#: utils/misc/guc_tables.c:3513 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered." msgstr "Om planeraren beräknar att den kommer läsa för få tabellsidor för att nå denna gräns så kommer den inte försöka med en parallell skanning." -#: utils/misc/guc_tables.c:3517 +#: utils/misc/guc_tables.c:3523 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "Anger minimala mängden indexdata för en parallell scan." -#: utils/misc/guc_tables.c:3518 +#: utils/misc/guc_tables.c:3524 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered." msgstr "Om planeraren beräknar att den kommer läsa för få indexsidor för att nå denna gräns så kommer den inte försöka med en parallell skanning." -#: utils/misc/guc_tables.c:3529 +#: utils/misc/guc_tables.c:3535 msgid "Shows the server version as an integer." msgstr "Visar serverns version som ett heltal." -#: utils/misc/guc_tables.c:3540 +#: utils/misc/guc_tables.c:3546 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "Logga användning av temporära filer som är större än detta antal kilobyte." -#: utils/misc/guc_tables.c:3541 +#: utils/misc/guc_tables.c:3547 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "Noll loggar alla filer. Standard är -1 (stänger av denna finess)." -#: utils/misc/guc_tables.c:3551 +#: utils/misc/guc_tables.c:3557 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Ställer in storleken reserverad för pg_stat_activity.query, i byte." -#: utils/misc/guc_tables.c:3562 +#: utils/misc/guc_tables.c:3568 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Sätter maximal storlek på väntelistan för GIN-index." -#: utils/misc/guc_tables.c:3573 +#: utils/misc/guc_tables.c:3579 msgid "TCP user timeout." msgstr "Användartimeout för TCP." -#: utils/misc/guc_tables.c:3584 +#: utils/misc/guc_tables.c:3590 msgid "The size of huge page that should be requested." msgstr "Storleken på stora sidor skall hämtas." -#: utils/misc/guc_tables.c:3595 +#: utils/misc/guc_tables.c:3601 msgid "Aggressively flush system caches for debugging purposes." msgstr "Flush:a systemcache aggressivt för att förenkla debugging." -#: utils/misc/guc_tables.c:3618 +#: utils/misc/guc_tables.c:3624 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "Sätter tidsintervall mellan test för nedkoppling när frågor körs." -#: utils/misc/guc_tables.c:3629 +#: utils/misc/guc_tables.c:3635 msgid "Time between progress updates for long-running startup operations." msgstr "Tid mellan uppdatering av progress för startupoperationer som kör länge." -#: utils/misc/guc_tables.c:3631 +#: utils/misc/guc_tables.c:3637 msgid "0 turns this feature off." msgstr "0 stänger av denna finess." -#: utils/misc/guc_tables.c:3641 +#: utils/misc/guc_tables.c:3647 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Sätter iterationsräknare för generering av SCRAM-hemlighet." -#: utils/misc/guc_tables.c:3661 +#: utils/misc/guc_tables.c:3667 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "Ställer in planerarens estimat av kostnaden för att hämta en disksida sekvensiellt." -#: utils/misc/guc_tables.c:3672 +#: utils/misc/guc_tables.c:3678 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "Ställer in planerarens estimat av kostnaden för att hämta en disksida icke-sekvensiellt." -#: utils/misc/guc_tables.c:3683 +#: utils/misc/guc_tables.c:3689 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "Ställer in planerarens estimat av kostnaden för att processa varje tupel (rad)." -#: utils/misc/guc_tables.c:3694 +#: utils/misc/guc_tables.c:3700 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "Sätter planerarens kostnadsuppskattning för att processa varje indexpost under en indexskanning." -#: utils/misc/guc_tables.c:3705 +#: utils/misc/guc_tables.c:3711 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "Sätter planerarens kostnadsuppskattning för att processa varje operator- eller funktions-anrop." -#: utils/misc/guc_tables.c:3716 +#: utils/misc/guc_tables.c:3722 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "Sätter planerarens kostnadsuppskattning för att skicka varje tupel (rad) från en arbetare till ledar-backend:en. " -#: utils/misc/guc_tables.c:3727 +#: utils/misc/guc_tables.c:3733 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "Sätter planerarens kostnadsuppskattning för att starta upp en arbetsprocess för en parallell fråga." -#: utils/misc/guc_tables.c:3739 +#: utils/misc/guc_tables.c:3745 msgid "Perform JIT compilation if query is more expensive." msgstr "Utför JIT-kompilering om frågan är dyrare." -#: utils/misc/guc_tables.c:3740 +#: utils/misc/guc_tables.c:3746 msgid "-1 disables JIT compilation." msgstr "-1 stänger av JIT-kompilering." -#: utils/misc/guc_tables.c:3750 +#: utils/misc/guc_tables.c:3756 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "Optimera JIT-kompilerade funktioner om frågan är dyrare." -#: utils/misc/guc_tables.c:3751 +#: utils/misc/guc_tables.c:3757 msgid "-1 disables optimization." msgstr "-1 stänger av optimering." -#: utils/misc/guc_tables.c:3761 +#: utils/misc/guc_tables.c:3767 msgid "Perform JIT inlining if query is more expensive." msgstr "Utför JIT-\"inlining\" om frågan är dyrare." -#: utils/misc/guc_tables.c:3762 +#: utils/misc/guc_tables.c:3768 msgid "-1 disables inlining." msgstr "-1 stänger av \"inlining\"" -#: utils/misc/guc_tables.c:3772 +#: utils/misc/guc_tables.c:3778 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "Sätter planerarens uppskattning av hur stor del av markörens rader som kommer hämtas. " -#: utils/misc/guc_tables.c:3784 +#: utils/misc/guc_tables.c:3790 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "Sätter planerarens uppskattning av genomsnittliga storleken på en rekursiv frågas arbetstabell." -#: utils/misc/guc_tables.c:3796 +#: utils/misc/guc_tables.c:3802 msgid "GEQO: selective pressure within the population." msgstr "GEQO: selektionstryck inom populationen." -#: utils/misc/guc_tables.c:3807 +#: utils/misc/guc_tables.c:3813 msgid "GEQO: seed for random path selection." msgstr "GEQO: slumptalsfrö för val av slumpad sökväg." -#: utils/misc/guc_tables.c:3818 +#: utils/misc/guc_tables.c:3824 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "Multipel av \"work_mem\" för att använda till hash-tabeller." -#: utils/misc/guc_tables.c:3829 +#: utils/misc/guc_tables.c:3835 msgid "Multiple of the average buffer usage to free per round." msgstr "Multipel av genomsnittlig bufferanvändning som frias per runda." -#: utils/misc/guc_tables.c:3839 +#: utils/misc/guc_tables.c:3845 msgid "Sets the seed for random-number generation." msgstr "Sätter fröet för slumptalsgeneratorn." -#: utils/misc/guc_tables.c:3850 +#: utils/misc/guc_tables.c:3856 msgid "Vacuum cost delay in milliseconds." msgstr "Städkostfördröjning i millisekunder." -#: utils/misc/guc_tables.c:3861 +#: utils/misc/guc_tables.c:3867 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Städkostfördröjning i millisekunder, för autovacuum." -#: utils/misc/guc_tables.c:3872 +#: utils/misc/guc_tables.c:3878 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "Antalet tupeluppdateringar eller borttagningar innan vacuum relativt reltuples." -#: utils/misc/guc_tables.c:3882 +#: utils/misc/guc_tables.c:3888 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "Antal tupelinsättningar innan vacuum relativt reltuples." -#: utils/misc/guc_tables.c:3892 +#: utils/misc/guc_tables.c:3898 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "Antalet tupelinsättningar, uppdateringar eller borttagningar innan analyze relativt reltuples." -#: utils/misc/guc_tables.c:3902 +#: utils/misc/guc_tables.c:3908 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "Tid lagd på att flusha nedsmutsade buffrar vid checkpoint relativt checkpoint-intervallet." -#: utils/misc/guc_tables.c:3912 +#: utils/misc/guc_tables.c:3918 msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "Bråkdel av satser som överskrider \"log_min_duration_sample\" som skall loggas." -#: utils/misc/guc_tables.c:3913 +#: utils/misc/guc_tables.c:3919 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "Använd ett värde mellan 0.0 (logga aldrig) och 1.0 (logga alltid)." -#: utils/misc/guc_tables.c:3922 +#: utils/misc/guc_tables.c:3928 msgid "Sets the fraction of transactions from which to log all statements." msgstr "Ställer in bråkdel av transaktionerna från vilka alla satser skall loggas." -#: utils/misc/guc_tables.c:3923 +#: utils/misc/guc_tables.c:3929 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "Använd ett värde mellan 0.0 (logga aldrig) till 1.0 (logga all satser i alla transaktioner)." -#: utils/misc/guc_tables.c:3942 +#: utils/misc/guc_tables.c:3948 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Sätter shell-kommandot som kommer anropas för att arkivera en WAL-fil." -#: utils/misc/guc_tables.c:3943 +#: utils/misc/guc_tables.c:3949 msgid "This is used only if \"archive_library\" is not set." msgstr "Detta används enbart om \"archive_library\" inte är satt." -#: utils/misc/guc_tables.c:3952 +#: utils/misc/guc_tables.c:3958 msgid "Sets the library that will be called to archive a WAL file." msgstr "Sätter biblioteket som kommer anropas för att arkivera en WAL-fil." -#: utils/misc/guc_tables.c:3953 +#: utils/misc/guc_tables.c:3959 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "En tom sträng betyder att \"archive_command\" skall användas." -#: utils/misc/guc_tables.c:3962 +#: utils/misc/guc_tables.c:3968 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "Sätter shell-kommandot som kommer anropas för att få en arkiverad WAL-fil." -#: utils/misc/guc_tables.c:3972 +#: utils/misc/guc_tables.c:3978 msgid "Sets the shell command that will be executed at every restart point." msgstr "Sätter shell-kommandot som kommer anropas vid varje omstartspunkt." -#: utils/misc/guc_tables.c:3982 +#: utils/misc/guc_tables.c:3988 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "Sätter shell-kommandot som kommer anropas en gång i slutet av en återställning." -#: utils/misc/guc_tables.c:3992 +#: utils/misc/guc_tables.c:3998 msgid "Specifies the timeline to recover into." msgstr "Anger tidslinjen att återställa till." -#: utils/misc/guc_tables.c:4002 +#: utils/misc/guc_tables.c:4008 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "Sätt till \"immediate\" för att avsluta återställning så snart ett konsistent tillstånd uppnås." -#: utils/misc/guc_tables.c:4011 +#: utils/misc/guc_tables.c:4017 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "Sätter transaktions-ID som återställning kommer gå till." -#: utils/misc/guc_tables.c:4020 +#: utils/misc/guc_tables.c:4026 msgid "Sets the time stamp up to which recovery will proceed." msgstr "Sätter tidsstämpel som återställning kommer gå till." -#: utils/misc/guc_tables.c:4029 +#: utils/misc/guc_tables.c:4035 msgid "Sets the named restore point up to which recovery will proceed." msgstr "Sätter namngiven återställningspunkt som återställning kommer gå till." -#: utils/misc/guc_tables.c:4038 +#: utils/misc/guc_tables.c:4044 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "Sätter LSN för write-ahead-logg-position som återställning kommer få till." -#: utils/misc/guc_tables.c:4048 +#: utils/misc/guc_tables.c:4054 msgid "Sets the connection string to be used to connect to the sending server." msgstr "Sätter anslutningssträng som anvönds för att ansluta till skickande server." -#: utils/misc/guc_tables.c:4059 +#: utils/misc/guc_tables.c:4065 msgid "Sets the name of the replication slot to use on the sending server." msgstr "Sätter namnet på replikeringsslotten som skall användas av den skickande servern." -#: utils/misc/guc_tables.c:4069 +#: utils/misc/guc_tables.c:4075 msgid "Sets the client's character set encoding." msgstr "Ställer in klientens teckenkodning." -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4086 msgid "Controls information prefixed to each log line." msgstr "Styr information prefixat till varje loggrad." -#: utils/misc/guc_tables.c:4081 +#: utils/misc/guc_tables.c:4087 msgid "If blank, no prefix is used." msgstr "Om tom så används inget prefix." -#: utils/misc/guc_tables.c:4090 +#: utils/misc/guc_tables.c:4096 msgid "Sets the time zone to use in log messages." msgstr "Sätter tidszonen som används i loggmeddelanden." -#: utils/misc/guc_tables.c:4100 +#: utils/misc/guc_tables.c:4106 msgid "Sets the display format for date and time values." msgstr "Sätter displayformat för datum och tidvärden." -#: utils/misc/guc_tables.c:4101 +#: utils/misc/guc_tables.c:4107 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Styr också tolkning av tvetydig datumindata." -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4118 msgid "Sets the default table access method for new tables." msgstr "Ställer in standard tabellaccessmetod för nya tabeller." -#: utils/misc/guc_tables.c:4123 +#: utils/misc/guc_tables.c:4129 msgid "Sets the default tablespace to create tables and indexes in." msgstr "Ställer in standard tabellutrymme där tabeller och index skapas." -#: utils/misc/guc_tables.c:4124 +#: utils/misc/guc_tables.c:4130 msgid "An empty string selects the database's default tablespace." msgstr "En tom sträng väljer databasens standardtabellutrymme." -#: utils/misc/guc_tables.c:4134 +#: utils/misc/guc_tables.c:4140 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "Ställer in tablespace för temporära tabeller och sorteringsfiler." -#: utils/misc/guc_tables.c:4145 +#: utils/misc/guc_tables.c:4151 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "Sätter hurvida en CREATEROLE-användare automatiskt får rollen själva, och med vilka flaggor." -#: utils/misc/guc_tables.c:4157 +#: utils/misc/guc_tables.c:4163 msgid "Sets the path for dynamically loadable modules." msgstr "Sätter sökvägen till dynamiskt laddade moduler." -#: utils/misc/guc_tables.c:4158 +#: utils/misc/guc_tables.c:4164 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file." msgstr "Om en dynamiskt laddad modul behöver öppnas och det angivna namnet inte har en katalogkomponent (dvs, namnet inte innehåller snedstreck) så kommer systemet använda denna sökväg för filen." -#: utils/misc/guc_tables.c:4171 +#: utils/misc/guc_tables.c:4177 msgid "Sets the location of the Kerberos server key file." msgstr "Ställer in platsen för Kerberos servernyckelfil." -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4188 msgid "Sets the Bonjour service name." msgstr "Sätter Bonjour-tjänstens namn." -#: utils/misc/guc_tables.c:4192 +#: utils/misc/guc_tables.c:4198 msgid "Sets the language in which messages are displayed." msgstr "Sätter språket som meddelanden visas i." -#: utils/misc/guc_tables.c:4202 +#: utils/misc/guc_tables.c:4208 msgid "Sets the locale for formatting monetary amounts." msgstr "Sätter lokalen för att formattera monetära belopp." -#: utils/misc/guc_tables.c:4212 +#: utils/misc/guc_tables.c:4218 msgid "Sets the locale for formatting numbers." msgstr "Ställer in lokalen för att formattera nummer." -#: utils/misc/guc_tables.c:4222 +#: utils/misc/guc_tables.c:4228 msgid "Sets the locale for formatting date and time values." msgstr "Sätter lokalen för att formattera datum och tider." -#: utils/misc/guc_tables.c:4232 +#: utils/misc/guc_tables.c:4238 msgid "Lists shared libraries to preload into each backend." msgstr "Listar delade bibliotek som skall förladdas i varje backend." -#: utils/misc/guc_tables.c:4243 +#: utils/misc/guc_tables.c:4249 msgid "Lists shared libraries to preload into server." msgstr "Listar delade bibliotek som skall förladdas i servern." -#: utils/misc/guc_tables.c:4254 +#: utils/misc/guc_tables.c:4260 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "Listar ej priviligerade delade bibliotek som förladdas in i varje backend." -#: utils/misc/guc_tables.c:4265 +#: utils/misc/guc_tables.c:4271 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Sätter schemats sökordning för namn som inte är schema-prefixade." -#: utils/misc/guc_tables.c:4277 +#: utils/misc/guc_tables.c:4283 msgid "Shows the server (database) character set encoding." msgstr "Visar serverns (databasens) teckenkodning." -#: utils/misc/guc_tables.c:4289 +#: utils/misc/guc_tables.c:4295 msgid "Shows the server version." msgstr "Visar serverversionen" -#: utils/misc/guc_tables.c:4301 +#: utils/misc/guc_tables.c:4307 msgid "Sets the current role." msgstr "Ställer in den aktiva rollen." -#: utils/misc/guc_tables.c:4313 +#: utils/misc/guc_tables.c:4319 msgid "Sets the session user name." msgstr "Sätter sessionens användarnamn." -#: utils/misc/guc_tables.c:4324 +#: utils/misc/guc_tables.c:4330 msgid "Sets the destination for server log output." msgstr "Sätter serverloggens destination." -#: utils/misc/guc_tables.c:4325 +#: utils/misc/guc_tables.c:4331 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "Giltiga värden är kombinationer av \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\" och \"eventlog\", beroende på plattform." -#: utils/misc/guc_tables.c:4336 +#: utils/misc/guc_tables.c:4342 msgid "Sets the destination directory for log files." msgstr "Sätter destinationskatalogen för loggfiler." -#: utils/misc/guc_tables.c:4337 +#: utils/misc/guc_tables.c:4343 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "Kan anges relativt datakatalogen eller som en absolut sökväg." -#: utils/misc/guc_tables.c:4347 +#: utils/misc/guc_tables.c:4353 msgid "Sets the file name pattern for log files." msgstr "Sätter filnamnsmallen för loggfiler." -#: utils/misc/guc_tables.c:4358 +#: utils/misc/guc_tables.c:4364 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Sätter programnamnet som används för att identifiera PostgreSQLs meddelanden i syslog." -#: utils/misc/guc_tables.c:4369 +#: utils/misc/guc_tables.c:4375 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "Sätter applikationsnamnet som används för att identifiera PostgreSQLs meddelanden i händelseloggen." -#: utils/misc/guc_tables.c:4380 +#: utils/misc/guc_tables.c:4386 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "Ställer in tidszon för visande och tolkande av tidsstämplar." -#: utils/misc/guc_tables.c:4390 +#: utils/misc/guc_tables.c:4396 msgid "Selects a file of time zone abbreviations." msgstr "Väljer en fil för tidszonsförkortningar." -#: utils/misc/guc_tables.c:4400 +#: utils/misc/guc_tables.c:4406 msgid "Sets the owning group of the Unix-domain socket." msgstr "Sätter ägande grupp för Unix-domainuttaget (socket)." -#: utils/misc/guc_tables.c:4401 +#: utils/misc/guc_tables.c:4407 msgid "The owning user of the socket is always the user that starts the server." msgstr "Ägaren av uttaget (socker) är alltid användaren som startar servern." -#: utils/misc/guc_tables.c:4411 +#: utils/misc/guc_tables.c:4417 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Ställer in kataloger där Unix-domän-uttag (socket) kommer skapas." -#: utils/misc/guc_tables.c:4422 +#: utils/misc/guc_tables.c:4428 msgid "Sets the host name or IP address(es) to listen to." msgstr "Sätter värdnamn eller IP-adress(er) att lyssna på." -#: utils/misc/guc_tables.c:4437 +#: utils/misc/guc_tables.c:4443 msgid "Sets the server's data directory." msgstr "Ställer in serverns datakatalog." -#: utils/misc/guc_tables.c:4448 +#: utils/misc/guc_tables.c:4454 msgid "Sets the server's main configuration file." msgstr "Sätter serverns huvudkonfigurationsfil." -#: utils/misc/guc_tables.c:4459 +#: utils/misc/guc_tables.c:4465 msgid "Sets the server's \"hba\" configuration file." msgstr "Sätter serverns \"hba\"-konfigurationsfil." -#: utils/misc/guc_tables.c:4470 +#: utils/misc/guc_tables.c:4476 msgid "Sets the server's \"ident\" configuration file." msgstr "Sätter serverns \"ident\"-konfigurationsfil." -#: utils/misc/guc_tables.c:4481 +#: utils/misc/guc_tables.c:4487 msgid "Writes the postmaster PID to the specified file." msgstr "Skriver postmaster-PID till angiven fil." -#: utils/misc/guc_tables.c:4492 +#: utils/misc/guc_tables.c:4498 msgid "Shows the name of the SSL library." msgstr "Visar namnet på SSL-biblioteket." -#: utils/misc/guc_tables.c:4507 +#: utils/misc/guc_tables.c:4513 msgid "Location of the SSL server certificate file." msgstr "Plats för serverns SSL-certifikatfil." -#: utils/misc/guc_tables.c:4517 +#: utils/misc/guc_tables.c:4523 msgid "Location of the SSL server private key file." msgstr "Plats för serverns privata SSL-nyckelfil." -#: utils/misc/guc_tables.c:4527 +#: utils/misc/guc_tables.c:4533 msgid "Location of the SSL certificate authority file." msgstr "Plats för SSL-certifikats auktoritetsfil." -#: utils/misc/guc_tables.c:4537 +#: utils/misc/guc_tables.c:4543 msgid "Location of the SSL certificate revocation list file." msgstr "Plats för SSL-certifikats återkallningsfil." -#: utils/misc/guc_tables.c:4547 +#: utils/misc/guc_tables.c:4553 msgid "Location of the SSL certificate revocation list directory." msgstr "Plats av katalog för SSL-certifikats återkallningslistor." -#: utils/misc/guc_tables.c:4557 +#: utils/misc/guc_tables.c:4563 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "Antalet synkrona standby och en lista med namn på potentiellt synkrona sådana." -#: utils/misc/guc_tables.c:4568 +#: utils/misc/guc_tables.c:4574 msgid "Sets default text search configuration." msgstr "Ställer in standard textsökkonfiguration." -#: utils/misc/guc_tables.c:4578 +#: utils/misc/guc_tables.c:4584 msgid "Sets the list of allowed SSL ciphers." msgstr "Ställer in listan med tillåtna SSL-krypton." -#: utils/misc/guc_tables.c:4593 +#: utils/misc/guc_tables.c:4599 msgid "Sets the curve to use for ECDH." msgstr "Ställer in kurvan att använda för ECDH." -#: utils/misc/guc_tables.c:4608 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL DH parameters file." msgstr "Plats för SSL DH-parameterfil." -#: utils/misc/guc_tables.c:4619 +#: utils/misc/guc_tables.c:4625 msgid "Command to obtain passphrases for SSL." msgstr "Kommando för att hämta lösenfraser för SSL." -#: utils/misc/guc_tables.c:4630 +#: utils/misc/guc_tables.c:4636 msgid "Sets the application name to be reported in statistics and logs." msgstr "Sätter applikationsnamn som rapporteras i statistik och loggar." -#: utils/misc/guc_tables.c:4641 +#: utils/misc/guc_tables.c:4647 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Sätter namnet på klustret som inkluderas i processtiteln." -#: utils/misc/guc_tables.c:4652 +#: utils/misc/guc_tables.c:4658 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "Sätter WAL-resurshanterare som WAL-konsistenskontoller görs med." -#: utils/misc/guc_tables.c:4653 +#: utils/misc/guc_tables.c:4659 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "Hela sidkopior kommer loggas för alla datablock och kontrolleras mot resultatet av en WAL-uppspelning." -#: utils/misc/guc_tables.c:4663 +#: utils/misc/guc_tables.c:4669 msgid "JIT provider to use." msgstr "JIT-leverantör som används." -#: utils/misc/guc_tables.c:4674 +#: utils/misc/guc_tables.c:4680 msgid "Log backtrace for errors in these functions." msgstr "Loggar backtrace vid fel i dessa funktioner." -#: utils/misc/guc_tables.c:4685 +#: utils/misc/guc_tables.c:4691 msgid "Use direct I/O for file access." msgstr "Använd direct-I/O för filaccess." -#: utils/misc/guc_tables.c:4696 -msgid "Lists streaming replication standby server slot names that logical WAL sender processes will wait for." -msgstr "" +#: utils/misc/guc_tables.c:4702 +msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." +msgstr "Listar replikeringsslotnamn på server för replikering-standby som processen för skickande av logisk WAL väntar på." -#: utils/misc/guc_tables.c:4698 -msgid "Logical WAL sender processes will send decoded changes to plugins only after the specified replication slots confirm receiving WAL." -msgstr "" +#: utils/misc/guc_tables.c:4704 +msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." +msgstr "Processen för skickande av logisk WAL skickar avkodade ändringar till utdata-plugin:er enbart efter att de angivna replikeringsslottarna bekräftat att de tagit emot WAL." -#: utils/misc/guc_tables.c:4719 +#: utils/misc/guc_tables.c:4716 +msgid "Prohibits access to non-system relations of specified kinds." +msgstr "Förhindrar access till icke-system-relationer av angivna sorter." + +#: utils/misc/guc_tables.c:4736 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Anger hurvida \"\\'\" tillåts i sträng-literaler." -#: utils/misc/guc_tables.c:4729 +#: utils/misc/guc_tables.c:4746 msgid "Sets the output format for bytea." msgstr "Ställer in output-format för bytea." -#: utils/misc/guc_tables.c:4739 +#: utils/misc/guc_tables.c:4756 msgid "Sets the message levels that are sent to the client." msgstr "Ställer in meddelandenivåer som skickas till klienten." -#: utils/misc/guc_tables.c:4740 utils/misc/guc_tables.c:4836 -#: utils/misc/guc_tables.c:4847 +#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 +#: utils/misc/guc_tables.c:4864 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "Varje nivå inkluderar de efterföljande nivåerna. Ju senare nivå destå färre meddlanden skickas." -#: utils/misc/guc_tables.c:4750 +#: utils/misc/guc_tables.c:4767 msgid "Enables in-core computation of query identifiers." msgstr "Slår på intern uträkning av identifierare för frågor." -#: utils/misc/guc_tables.c:4760 +#: utils/misc/guc_tables.c:4777 msgid "Enables the planner to use constraints to optimize queries." msgstr "Slår på planerarens användning av integritetsvillkor för att optimera frågor." -#: utils/misc/guc_tables.c:4761 +#: utils/misc/guc_tables.c:4778 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "Tabellskanningar kommer hoppas över om dess integritetsvillkor garanterar att inga rader komma matchas av frågan." -#: utils/misc/guc_tables.c:4772 +#: utils/misc/guc_tables.c:4789 msgid "Sets the default compression method for compressible values." msgstr "Ställer in standard komprimeringsmetod för komprimeringsbara värden." -#: utils/misc/guc_tables.c:4783 +#: utils/misc/guc_tables.c:4800 msgid "Sets the transaction isolation level of each new transaction." msgstr "Ställer in isolationsnivån för nya transaktioner." -#: utils/misc/guc_tables.c:4793 +#: utils/misc/guc_tables.c:4810 msgid "Sets the current transaction's isolation level." msgstr "Sätter den aktuella transaktionsisolationsnivån." -#: utils/misc/guc_tables.c:4804 +#: utils/misc/guc_tables.c:4821 msgid "Sets the display format for interval values." msgstr "Ställer in visningsformat för intervallvärden." -#: utils/misc/guc_tables.c:4815 +#: utils/misc/guc_tables.c:4832 msgid "Log level for reporting invalid ICU locale strings." msgstr "Loggnivå för rapportering av ogiltiga ICU-lokalsträngar." -#: utils/misc/guc_tables.c:4825 +#: utils/misc/guc_tables.c:4842 msgid "Sets the verbosity of logged messages." msgstr "Ställer in pratighet för loggade meddelanden." -#: utils/misc/guc_tables.c:4835 +#: utils/misc/guc_tables.c:4852 msgid "Sets the message levels that are logged." msgstr "Ställer in meddelandenivåer som loggas." -#: utils/misc/guc_tables.c:4846 +#: utils/misc/guc_tables.c:4863 msgid "Causes all statements generating error at or above this level to be logged." msgstr "Gör att alla satser som genererar fel vid eller över denna nivå kommer loggas." -#: utils/misc/guc_tables.c:4857 +#: utils/misc/guc_tables.c:4874 msgid "Sets the type of statements logged." msgstr "Ställer in vilken sorts satser som loggas." -#: utils/misc/guc_tables.c:4867 +#: utils/misc/guc_tables.c:4884 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Ställer in syslog-\"facility\" som används när syslog är påslagen." -#: utils/misc/guc_tables.c:4878 +#: utils/misc/guc_tables.c:4895 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Sätter sessionens beteende för triggrar och omskrivningsregler." -#: utils/misc/guc_tables.c:4888 +#: utils/misc/guc_tables.c:4905 msgid "Sets the current transaction's synchronization level." msgstr "Ställer in den nuvarande transaktionens synkroniseringsnivå." -#: utils/misc/guc_tables.c:4898 +#: utils/misc/guc_tables.c:4915 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Tillåter arkivering av WAL-filer med hjälp av \"archive_command\"." -#: utils/misc/guc_tables.c:4908 +#: utils/misc/guc_tables.c:4925 msgid "Sets the action to perform upon reaching the recovery target." msgstr "Sätter handling som skall utföras när återställningsmål nås." -#: utils/misc/guc_tables.c:4918 +#: utils/misc/guc_tables.c:4935 msgid "Collects function-level statistics on database activity." msgstr "Samlar in statistik på funktionsnivå över databasaktivitet." -#: utils/misc/guc_tables.c:4929 +#: utils/misc/guc_tables.c:4946 msgid "Sets the consistency of accesses to statistics data." msgstr "Sätter konsistensinställning för accesser av statistikdata." -#: utils/misc/guc_tables.c:4939 +#: utils/misc/guc_tables.c:4956 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Komprimerar skrivning av hela sidor i WAL-filen med angiven metod." -#: utils/misc/guc_tables.c:4949 +#: utils/misc/guc_tables.c:4966 msgid "Sets the level of information written to the WAL." msgstr "Ställer in mängden information som skrivs till WAL." -#: utils/misc/guc_tables.c:4959 +#: utils/misc/guc_tables.c:4976 msgid "Selects the dynamic shared memory implementation used." msgstr "Väljer implementation som används för dynamiskt delat minne." -#: utils/misc/guc_tables.c:4969 +#: utils/misc/guc_tables.c:4986 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "Väljer implementation för delat minne som används för det delade minnets huvudregionen." -#: utils/misc/guc_tables.c:4979 +#: utils/misc/guc_tables.c:4996 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Väljer metod för att tvinga WAL-uppdateringar till disk." -#: utils/misc/guc_tables.c:4989 +#: utils/misc/guc_tables.c:5006 msgid "Sets how binary values are to be encoded in XML." msgstr "Ställer in hur binära värden kodas i XML." -#: utils/misc/guc_tables.c:4999 +#: utils/misc/guc_tables.c:5016 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "Anger hurvida XML-data vid implicit parsning och serialiseringsoperationer ses som dokument eller innehållsfragment." -#: utils/misc/guc_tables.c:5010 +#: utils/misc/guc_tables.c:5027 msgid "Use of huge pages on Linux or Windows." msgstr "Använd stora sidor på Linux resp. Windows." -#: utils/misc/guc_tables.c:5020 +#: utils/misc/guc_tables.c:5037 msgid "Indicates the status of huge pages." -msgstr "" +msgstr "Visas status för stora sidor." -#: utils/misc/guc_tables.c:5031 +#: utils/misc/guc_tables.c:5048 msgid "Prefetch referenced blocks during recovery." msgstr "Prefetch:a refererade block vid återställning." -#: utils/misc/guc_tables.c:5032 +#: utils/misc/guc_tables.c:5049 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Sök framåt i WAL för att hitta referenser till icke cache:ad data." -#: utils/misc/guc_tables.c:5041 +#: utils/misc/guc_tables.c:5058 msgid "Forces the planner's use parallel query nodes." msgstr "Tvingar planeraren att använda parallella frågenoder." -#: utils/misc/guc_tables.c:5042 +#: utils/misc/guc_tables.c:5059 msgid "This can be useful for testing the parallel query infrastructure by forcing the planner to generate plans that contain nodes that perform tuple communication between workers and the main process." msgstr "Detta är användbart för att testa infrastrukturen för parallella frågor genom att tvinga planeraren att generera planer som innehåller noder som skickar tupler mellan arbetare och huvudprocessen." -#: utils/misc/guc_tables.c:5054 +#: utils/misc/guc_tables.c:5071 msgid "Chooses the algorithm for encrypting passwords." msgstr "Väljer algoritm för att kryptera lösenord." -#: utils/misc/guc_tables.c:5064 +#: utils/misc/guc_tables.c:5081 msgid "Controls the planner's selection of custom or generic plan." msgstr "Styr planerarens användning av egendefinierad eller generell plan." -#: utils/misc/guc_tables.c:5065 +#: utils/misc/guc_tables.c:5082 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better. This can be set to override the default behavior." msgstr "Preparerade satser kan ha egendefinierade och generella planer och planeraren kommer försöka välja den som är bäst. Detta kan anges att övertrumfa standardbeteendet." -#: utils/misc/guc_tables.c:5077 +#: utils/misc/guc_tables.c:5094 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Sätter minsta SSL/TLS-protokollversion som skall användas." -#: utils/misc/guc_tables.c:5089 +#: utils/misc/guc_tables.c:5106 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Sätter högsta SSL/TLS-protokollversion som skall användas." -#: utils/misc/guc_tables.c:5101 +#: utils/misc/guc_tables.c:5118 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "Ställer in metoden för att synkronisera datakatalogen innan kraschåterställning." -#: utils/misc/guc_tables.c:5110 +#: utils/misc/guc_tables.c:5127 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "Tvingar omedelbar strömning eller serialisering av ändringar i stora transaktioner." -#: utils/misc/guc_tables.c:5111 +#: utils/misc/guc_tables.c:5128 msgid "On the publisher, it allows streaming or serializing each change in logical decoding. On the subscriber, it allows serialization of all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction." msgstr "På publiceringssidan så tillåter detta strömning eller serialisering av varje ändring i den logiska kodningen. På prenumerationsstidan så tillåter det serialisering av alla ändringar till filer samt notifiering till den parallella appliceraren att läsa in och applicera dem i slutet av transaktionen." @@ -31208,7 +31004,7 @@ msgstr "Källtransaktionen kör inte längre." #: utils/time/snapmgr.c:1136 #, c-format msgid "cannot export a snapshot from a subtransaction" -msgstr "kan inte exportera ett snapshot från en subtransaktion" +msgstr "kan inte exportera ett snapshot från en undertransaktion" #: utils/time/snapmgr.c:1296 utils/time/snapmgr.c:1301 #: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1321 diff --git a/src/bin/pg_amcheck/po/de.po b/src/bin/pg_amcheck/po/de.po index 428a8b3262e0c..5dd5992747206 100644 --- a/src/bin/pg_amcheck/po/de.po +++ b/src/bin/pg_amcheck/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 10:22+0000\n" -"PO-Revision-Date: 2024-06-16 19:05+0200\n" +"POT-Creation-Date: 2024-08-28 04:23+0000\n" +"PO-Revision-Date: 2024-08-28 07:51+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -249,8 +249,8 @@ msgstr "in Datenbank »%s«: verwende amcheck Version »%s« in Schema »%s«" #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "Option --checkunique wird von amcheck Version »%s« nicht unterstützt" +msgid "option %s is not supported by amcheck version %s" +msgstr "Option %s wird von amcheck Version %s nicht unterstützt" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_amcheck/po/fr.po b/src/bin/pg_amcheck/po/fr.po index c3dee50875fc0..b67223ee29579 100644 --- a/src/bin/pg_amcheck/po/fr.po +++ b/src/bin/pg_amcheck/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-20 21:23+0000\n" -"PO-Revision-Date: 2024-07-22 15:37+0200\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-08-30 08:29+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -255,8 +255,8 @@ msgstr "dans la base de données « %s » : utilisation de la version « %s » d #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "l'option --checkunique n'est pas accepté par la version « %s » de amcheck" +msgid "option %s is not supported by amcheck version %s" +msgstr "l'option %s n'est pas acceptée par la version « %s » de amcheck" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_amcheck/po/ka.po b/src/bin/pg_amcheck/po/ka.po index fb08fc2ae6549..8cf7f280e248b 100644 --- a/src/bin/pg_amcheck/po/ka.po +++ b/src/bin/pg_amcheck/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:22+0000\n" -"PO-Revision-Date: 2024-06-14 06:13+0200\n" +"POT-Creation-Date: 2024-08-27 16:52+0000\n" +"PO-Revision-Date: 2024-08-28 05:43+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -252,8 +252,8 @@ msgstr "ბაზაში \"%s\": გამოიყენება amcheck-ი #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "--checkunique პარამეტრის მხარდაჭერა amcheck-ის ვერსიას \"%s\" არ გააჩნია" +msgid "option %s is not supported by amcheck version %s" +msgstr "პარამეტრის '%s' მხარდაჭერა amcheck-ის ვერსიას \"%s\" არ გააჩნია" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_amcheck/po/sv.po b/src/bin/pg_amcheck/po/sv.po index 8d3c7a83b4764..6db26dc737657 100644 --- a/src/bin/pg_amcheck/po/sv.po +++ b/src/bin/pg_amcheck/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-12 11:23+0000\n" -"PO-Revision-Date: 2024-07-12 15:30+0200\n" +"POT-Creation-Date: 2024-08-27 15:52+0000\n" +"PO-Revision-Date: 2024-08-27 18:29+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -250,8 +250,8 @@ msgstr "i databas \"%s\": använder amcheck version \"%s\" i schema \"%s\"" #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "flaggan --checkunique stöds inte av amcheck version \"%s\"" +msgid "option %s is not supported by amcheck version %s" +msgstr "flaggan %s stöds inte av amcheck version %s" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_basebackup/po/de.po b/src/bin/pg_basebackup/po/de.po index ad54436861d33..14b06dde075f9 100644 --- a/src/bin/pg_basebackup/po/de.po +++ b/src/bin/pg_basebackup/po/de.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-02 21:50+0000\n" -"PO-Revision-Date: 2024-08-03 15:01+0200\n" +"POT-Creation-Date: 2024-08-25 09:20+0000\n" +"PO-Revision-Date: 2024-08-25 16:44+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -1297,18 +1297,18 @@ msgstr "Der Zielserver kann nicht mehr als physischer Standby verwendet werden. #: pg_createsubscriber.c:198 #, c-format -msgid "publication \"%s\" in database \"%s\" on primary might be left behind" -msgstr "Publikation »%s« in Datenbank »%s« auf dem Primärserver wurde zurückgelassen" +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "Publikation »%s« erzeugt in Datenbank »%s« auf dem Primärserver wurde zurückgelassen" #: pg_createsubscriber.c:200 #, c-format -msgid "Consider dropping this publication before trying again." -msgstr "Löschen Sie diese Publikation eventuell, bevor Sie erneut versuchen." +msgid "Drop this publication before trying again." +msgstr "Löschen Sie diese Publikation, bevor Sie erneut versuchen." #: pg_createsubscriber.c:204 #, c-format -msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind" -msgstr "Replikations-Slot »%s« in Datenbank »%s« auf dem Primärserver wurde zurückgelassen" +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "Replikations-Slot »%s« erzeugt in Datenbank »%s« auf dem Primärserver wurde zurückgelassen" #: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 #, c-format @@ -1335,7 +1335,7 @@ msgstr "" #: pg_createsubscriber.c:224 #, c-format -msgid " -d, --database=DBNAME database to create a subscription\n" +msgid " -d, --database=DBNAME database in which to create a subscription\n" msgstr " -d, --database=DBNAME Datenbank, in der eine Subskription erzeugt werden soll\n" #: pg_createsubscriber.c:225 @@ -1370,8 +1370,8 @@ msgstr " -t, --recovery-timeout=SEK Sekunden zu warten auf Ende der Wieder #: pg_createsubscriber.c:231 #, c-format -msgid " -U, --subscriber-username=NAME subscriber username\n" -msgstr " -U, --subscriber-username=NAME Subskriptionsserver-Benutzername\n" +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NAME Benutzername für Subskriptionsserver-Verbindung\n" #: pg_createsubscriber.c:232 #, c-format @@ -1504,8 +1504,8 @@ msgstr "Subskriptionsserver hat Systemidentifikator erfolgreich geändert" #: pg_createsubscriber.c:673 #, c-format -msgid "subscriber failed to change system identifier: exit code: %d" -msgstr "Subskriptionsserver konnte Systemidentifikator nicht ändern: Exitcode %d" +msgid "could not change system identifier of subscriber: %s" +msgstr "konnte Systemidentifikator des Subskriptionsservers nicht ändern: %s" #: pg_createsubscriber.c:697 #, c-format @@ -1566,13 +1566,13 @@ msgstr "Erhöhen Sie den Konfigurationsparameter »%s« auf mindestens %d." #: pg_createsubscriber.c:929 #, c-format -msgid "publisher requires %d wal sender processes, but only %d remain" +msgid "publisher requires %d WAL sender processes, but only %d remain" msgstr "Publikationsserver benötigt %d WAL-Sender-Prozesse, aber nur %d verbleiben" #: pg_createsubscriber.c:938 #, c-format -msgid "two_phase option will not be enabled for slots" -msgstr "Option »two_phase« wird für Slots nicht aktiviert" +msgid "two_phase option will not be enabled for replication slots" +msgstr "Option »two_phase« wird für Replikations-Slots nicht aktiviert" #: pg_createsubscriber.c:939 #, c-format @@ -1786,13 +1786,13 @@ msgstr "konnte Subskriptions-OID nicht ermitteln: %d Zeilen erhalten, %d Zeile e #: pg_createsubscriber.c:1794 #, c-format -msgid "setting the replication progress (node name \"%s\" ; LSN %s) in database \"%s\"" -msgstr "setze Replikationsfortschritt (Knotenname »%s«; LSN %s) in Datenbank »%s«" +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "setze Replikationsfortschritt (Knotenname »%s«, LSN %s) in Datenbank »%s«" #: pg_createsubscriber.c:1809 #, c-format -msgid "could not set replication progress for the subscription \"%s\": %s" -msgstr "konnte Replikationsfortschritt für die Subskription »%s« nicht setzen: %s" +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "konnte Replikationsfortschritt für Subskription »%s« nicht setzen: %s" #: pg_createsubscriber.c:1840 #, c-format @@ -1816,23 +1816,23 @@ msgstr "Sie müssen %s als PostgreSQL-Superuser ausführen." #: pg_createsubscriber.c:1966 #, c-format -msgid "duplicate database \"%s\"" -msgstr "doppelte Datenbank »%s«" +msgid "database \"%s\" specified more than once" +msgstr "Datenbank »%s« mehrmals angegeben" #: pg_createsubscriber.c:2007 #, c-format -msgid "duplicate publication \"%s\"" -msgstr "doppelte Publikation »%s«" +msgid "publication \"%s\" specified more than once" +msgstr "Publikation »%s« mehrmals angegeben" #: pg_createsubscriber.c:2019 #, c-format -msgid "duplicate replication slot \"%s\"" -msgstr "doppelter Replikations-Slot »%s«" +msgid "replication slot \"%s\" specified more than once" +msgstr "Replikations-Slot »%s« mehrmals angegeben" #: pg_createsubscriber.c:2031 #, c-format -msgid "duplicate subscription \"%s\"" -msgstr "doppelte Subskription »%s«" +msgid "subscription \"%s\" specified more than once" +msgstr "Subskription »%s« mehrmals angegeben" #: pg_createsubscriber.c:2054 #, c-format @@ -1866,8 +1866,8 @@ msgstr "keine Datenbank wurde angegeben" #: pg_createsubscriber.c:2109 #, c-format -msgid "database \"%s\" was extracted from the publisher connection string" -msgstr "Datenbank »%s« wurde aus der Verbindungszeichenkette des Publikationsservers extrahiert" +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "Datenbankname »%s« wurde aus der Verbindungszeichenkette des Publikationsservers extrahiert" #: pg_createsubscriber.c:2114 #, c-format @@ -1876,33 +1876,33 @@ msgstr "kein Datenbankname angegeben" #: pg_createsubscriber.c:2124 #, c-format -msgid "wrong number of publication names" -msgstr "falsche Anzahl Publikationsnamen" +msgid "wrong number of publication names specified" +msgstr "falsche Anzahl Publikationsnamen angegeben" #: pg_createsubscriber.c:2125 #, c-format -msgid "Number of publication names (%d) must match number of database names (%d)." -msgstr "Die Anzahl der Publikationsnamen (%d) muss mit der Anzahl der Datenbanknamen (%d) übereinstimmen." +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "Die Anzahl der angegebenen Publikationsnamen (%d) muss mit der Anzahl der angegebenen Datenbanknamen (%d) übereinstimmen." #: pg_createsubscriber.c:2131 #, c-format -msgid "wrong number of subscription names" -msgstr "falsche Anzahl Subskriptionsnamen" +msgid "wrong number of subscription names specified" +msgstr "falsche Anzahl Subskriptionsnamen angegeben" #: pg_createsubscriber.c:2132 #, c-format -msgid "Number of subscription names (%d) must match number of database names (%d)." -msgstr "Die Anzahl der Subskriptionsnamen (%d) muss mit der Anzahl der Datenbanknamen (%d) übereinstimmen." +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "Die Anzahl der angegebenen Subskriptionsnamen (%d) muss mit der Anzahl der angegebenen Datenbanknamen (%d) übereinstimmen." #: pg_createsubscriber.c:2138 #, c-format -msgid "wrong number of replication slot names" -msgstr "falsche Anzahl Replikations-Slot-Namen" +msgid "wrong number of replication slot names specified" +msgstr "falsche Anzahl Replikations-Slot-Namen angegeben" #: pg_createsubscriber.c:2139 #, c-format -msgid "Number of replication slot names (%d) must match number of database names (%d)." -msgstr "Die Anzahl der Replikations-Slot-Namen (%d) muss mit der Anzahl der Datenbanknamen (%d) übereinstimmen." +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "Die Anzahl der angegebenen Replikations-Slot-Namen (%d) muss mit der Anzahl der angegebenen Datenbanknamen (%d) übereinstimmen." #: pg_createsubscriber.c:2168 #, c-format @@ -1911,18 +1911,18 @@ msgstr "Datenverzeichnis des Subskriptionsservers ist keine Kopie des Quelldaten #: pg_createsubscriber.c:2181 #, c-format -msgid "standby is up and running" -msgstr "Standby läuft" +msgid "standby server is running" +msgstr "Standby-Server läuft" #: pg_createsubscriber.c:2182 #, c-format -msgid "Stop the standby and try again." -msgstr "Halten Sie den Standby an und versuchen Sie erneut." +msgid "Stop the standby server and try again." +msgstr "Halten Sie den Standby-Server an und versuchen Sie erneut." #: pg_createsubscriber.c:2191 #, c-format -msgid "starting the standby with command-line options" -msgstr "starte den Standby mit Kommandozeilenoptionen" +msgid "starting the standby server with command-line options" +msgstr "starte den Standby-Server mit Kommandozeilenoptionen" #: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 #, c-format diff --git a/src/bin/pg_basebackup/po/fr.po b/src/bin/pg_basebackup/po/fr.po index 54a388acf9d1d..e07936244018f 100644 --- a/src/bin/pg_basebackup/po/fr.po +++ b/src/bin/pg_basebackup/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-07-29 22:45+0200\n" +"POT-Creation-Date: 2024-08-26 19:50+0000\n" +"PO-Revision-Date: 2024-08-26 22:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -93,6 +93,65 @@ msgstr "l'algorithme de compression « %s » n'accepte pas un nombre de workers" msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "l'algorithme de compression « %s » n'accepte pas un mode distance longue" +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 pg_basebackup.c:1873 +#: pg_receivewal.c:402 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: bbstreamer_file.c:138 pg_recvlogical.c:650 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/controldata_utils.c:170 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 +#: ../../common/file_utils.c:347 ../../common/file_utils.c:406 +#: ../../common/file_utils.c:480 ../../fe_utils/recovery_gen.c:140 +#: pg_basebackup.c:1846 pg_receivewal.c:386 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 pg_recvlogical.c:204 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -104,39 +163,69 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 -#: pg_receivewal.c:319 pg_recvlogical.c:339 +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: pg_receivewal.c:319 pg_recvlogical.c:352 #, c-format msgid "could not stat file \"%s\": %m" msgstr "n'a pas pu tester le fichier « %s » : %m" -#: ../../common/file_utils.c:162 pg_receivewal.c:242 +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" -#: ../../common/file_utils.c:196 pg_receivewal.c:471 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "n'a pas pu lire le répertoire « %s » : %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:386 +#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 -#: pg_recvlogical.c:194 +#: ../../common/restricted_token.c:60 #, c-format -msgid "could not fsync file \"%s\": %m" -msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" +msgid "could not open process token: error code %lu" +msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %lu" -#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462 +#: ../../common/restricted_token.c:74 #, c-format -msgid "could not rename file \"%s\" to \"%s\": %m" -msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" +msgid "could not allocate SIDs: error code %lu" +msgstr "n'a pas pu allouer les SID : code d'erreur %lu" + +#: ../../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "n'a pas pu créer le jeton restreint : code d'erreur %lu" + +#: ../../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu" + +#: ../../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" #: ../../fe_utils/option_utils.c:69 #, c-format @@ -148,51 +237,62 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1609 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50 +#: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109 +#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:331 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700 +#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121 +#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727 #, c-format msgid "could not write to file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier « %s » : %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360 -#: pg_basebackup.c:1470 pg_basebackup.c:1679 +#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361 +#: pg_basebackup.c:1497 pg_basebackup.c:1706 #, c-format msgid "could not create file \"%s\": %m" msgstr "n'a pas pu créer le fichier « %s » : %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:633 +#: ../../fe_utils/string_utils.c:434 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "n'a pas pu fermer le fichier « %s » : %m" +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" #: bbstreamer_file.c:275 #, c-format msgid "unexpected state while extracting archive" msgstr "état inattendu lors de l'extraction de l'archive" -#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730 +#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712 +#: pg_basebackup.c:757 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: bbstreamer_file.c:325 +#: bbstreamer_file.c:326 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "n'a pas pu configurer les droits du répertoire « %s » : %m" -#: bbstreamer_file.c:344 +#: bbstreamer_file.c:345 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "n'a pas pu créer le lien symbolique de « %s » vers « %s » : %m" -#: bbstreamer_file.c:364 +#: bbstreamer_file.c:365 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "n'a pas pu initialiser les droits du fichier « %s » : %m" @@ -227,7 +327,7 @@ msgstr "n'a pas pu écrire dans le fichier compressé « %s » : %s" msgid "could not close compressed file \"%s\": %m" msgstr "n'a pas pu fermer le fichier compressé « %s » : %m" -#: bbstreamer_gzip.c:245 walmethods.c:876 +#: bbstreamer_gzip.c:245 walmethods.c:880 #, c-format msgid "could not initialize compression library" msgstr "n'a pas pu initialiser la bibliothèque de compression" @@ -277,12 +377,12 @@ msgstr "la fin du fichier tar fait plus de 2 blocs" msgid "unexpected state while parsing tar archive" msgstr "état inattendu lors de l'analyse de l'archive tar" -#: bbstreamer_tar.c:296 +#: bbstreamer_tar.c:292 #, c-format msgid "tar member has empty name" msgstr "le membre de tar a un nom vide" -#: bbstreamer_tar.c:328 +#: bbstreamer_tar.c:326 #, c-format msgid "COPY stream ended before last file was finished" msgstr "le flux COPY s'est terminé avant que le dernier fichier soit terminé" @@ -312,87 +412,87 @@ msgstr "n'a pas pu activer le mode distance longue : %s" msgid "could not create zstd decompression context" msgstr "n'a pas pu créer le contexte de décompression zstd" -#: pg_basebackup.c:238 +#: pg_basebackup.c:245 #, c-format msgid "removing data directory \"%s\"" msgstr "suppression du répertoire des données « %s »" -#: pg_basebackup.c:240 +#: pg_basebackup.c:247 #, c-format msgid "failed to remove data directory" msgstr "échec de la suppression du répertoire des données" -#: pg_basebackup.c:244 +#: pg_basebackup.c:251 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "suppression du contenu du répertoire des données « %s »" -#: pg_basebackup.c:246 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove contents of data directory" msgstr "échec de la suppression du contenu du répertoire des données" -#: pg_basebackup.c:251 +#: pg_basebackup.c:258 #, c-format msgid "removing WAL directory \"%s\"" msgstr "suppression du répertoire des journaux de transactions « %s »" -#: pg_basebackup.c:253 +#: pg_basebackup.c:260 #, c-format msgid "failed to remove WAL directory" msgstr "échec de la suppression du répertoire des journaux de transactions" -#: pg_basebackup.c:257 +#: pg_basebackup.c:264 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "suppression du contenu du répertoire des journaux de transactions « %s »" -#: pg_basebackup.c:259 +#: pg_basebackup.c:266 #, c-format msgid "failed to remove contents of WAL directory" msgstr "échec de la suppression du contenu du répertoire des journaux de transactions" -#: pg_basebackup.c:265 +#: pg_basebackup.c:272 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "répertoire des données « %s » non supprimé à la demande de l'utilisateur" -#: pg_basebackup.c:268 +#: pg_basebackup.c:275 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "répertoire des journaux de transactions « %s » non supprimé à la demande de l'utilisateur" -#: pg_basebackup.c:272 +#: pg_basebackup.c:279 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "les modifications des répertoires des tablespaces ne seront pas annulées" -#: pg_basebackup.c:324 +#: pg_basebackup.c:331 #, c-format msgid "directory name too long" msgstr "nom du répertoire trop long" -#: pg_basebackup.c:331 +#: pg_basebackup.c:338 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "multiple signes « = » dans la correspondance de tablespace" -#: pg_basebackup.c:340 +#: pg_basebackup.c:347 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "format de correspondance de tablespace « %s » invalide, doit être « ANCIENREPERTOIRE=NOUVEAUREPERTOIRE »" -#: pg_basebackup.c:359 +#: pg_basebackup.c:366 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "l'ancien répertoire n'est pas un chemin absolu dans la correspondance de tablespace : %s" -#: pg_basebackup.c:363 +#: pg_basebackup.c:370 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "le nouveau répertoire n'est pas un chemin absolu dans la correspondance de tablespace : %s" -#: pg_basebackup.c:385 +#: pg_basebackup.c:392 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -402,17 +502,19 @@ msgstr "" "d'exécution.\n" "\n" -#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 +#: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 +#: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [OPTION]...\n" -#: pg_basebackup.c:389 +#: pg_basebackup.c:396 #, c-format msgid "" "\n" @@ -421,17 +523,26 @@ msgstr "" "\n" "Options contrôlant la sortie :\n" -#: pg_basebackup.c:390 +#: pg_basebackup.c:397 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, --pgdata=RÉPERTOIRE reçoit la sauvegarde de base dans ce répertoire\n" -#: pg_basebackup.c:391 +#: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr " -F, --format=p|t format en sortie (plain (par défaut), tar)\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:399 +#, c-format +msgid "" +" -i, --incremental=OLDMANIFEST\n" +" take incremental backup\n" +msgstr "" +" -i, --incremental=ANCIENMANIFESTE\n" +" réalise une sauvegarde incrémentale\n" + +#: pg_basebackup.c:401 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -441,21 +552,21 @@ msgstr "" " données (en Ko/s, ou utiliser le suffixe « k »\n" " ou « M »)\n" -#: pg_basebackup.c:394 +#: pg_basebackup.c:403 #, c-format msgid "" " -R, --write-recovery-conf\n" " write configuration for replication\n" msgstr " -R, --write-recovery-conf écrit la configuration pour la réplication\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:405 #, c-format msgid "" " -t, --target=TARGET[:DETAIL]\n" " backup target (if other than client)\n" msgstr " -t, --target=CIBLE[:DETAIL] cible de sauvegarde (si autre que client)\n" -#: pg_basebackup.c:398 +#: pg_basebackup.c:407 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -464,14 +575,14 @@ msgstr "" " -T, --tablespace-mapping=ANCIENREP=NOUVEAUREP\n" " déplace le répertoire ANCIENREP en NOUVEAUREP\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:409 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr "" " --waldir=RÉP_WAL emplacement du répertoire des journaux de\n" " transactions\n" -#: pg_basebackup.c:401 +#: pg_basebackup.c:410 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -481,12 +592,12 @@ msgstr "" " inclut les journaux de transactions requis avec\n" " la méthode spécifiée\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:412 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip compresse la sortie tar\n" -#: pg_basebackup.c:404 +#: pg_basebackup.c:413 #, c-format msgid "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" @@ -495,12 +606,12 @@ msgstr "" " -Z, --compress=[{client|server}-]METHODE[:DETAIL]\n" " compresse sur le client ou le serveur comme indiqué\n" -#: pg_basebackup.c:406 +#: pg_basebackup.c:415 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr " -Z, --compress=none ne compresse pas la sortie tar\n" -#: pg_basebackup.c:407 +#: pg_basebackup.c:416 #, c-format msgid "" "\n" @@ -509,56 +620,56 @@ msgstr "" "\n" "Options générales :\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:417 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" -" set fast or spread checkpointing\n" -msgstr " -c, --checkpoint=fast|spread exécute un CHECKPOINT rapide ou réparti\n" +" set fast or spread (default) checkpointing\n" +msgstr " -c, --checkpoint=fast|spread exécute un CHECKPOINT rapide ou réparti (par défaut)\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:419 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " --create-slot crée un slot de réplication\n" -#: pg_basebackup.c:411 +#: pg_basebackup.c:420 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=LABEL configure le label de sauvegarde\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:421 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean ne nettoie pas en cas d'erreur\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:422 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --no-sync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:423 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress affiche la progression de la sauvegarde\n" -#: pg_basebackup.c:415 pg_receivewal.c:89 +#: pg_basebackup.c:424 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=NOMREP slot de réplication à utiliser\n" -#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98 +#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose affiche des messages verbeux\n" -#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99 +#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_basebackup.c:418 +#: pg_basebackup.c:427 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -568,7 +679,7 @@ msgstr "" " utilise cet algorithme pour les sommes de\n" " contrôle du manifeste\n" -#: pg_basebackup.c:420 +#: pg_basebackup.c:429 #, c-format msgid "" " --manifest-force-encode\n" @@ -577,40 +688,47 @@ msgstr "" " --manifest-force-encode encode tous les noms de fichier dans le\n" " manifeste en hexadécimal\n" -#: pg_basebackup.c:422 +#: pg_basebackup.c:431 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr "" " --no-estimate-size ne réalise pas d'estimation sur la taille de la\n" " sauvegarde côté serveur\n" -#: pg_basebackup.c:423 +#: pg_basebackup.c:432 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr "" " --no-manifest supprime la génération de manifeste de\n" " sauvegarde\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:433 #, c-format msgid " --no-slot prevent creation of temporary replication slot\n" msgstr "" " --no-slot empêche la création de slots de réplication\n" " temporaires\n" -#: pg_basebackup.c:425 +#: pg_basebackup.c:434 #, c-format msgid "" " --no-verify-checksums\n" " do not verify checksums\n" msgstr " --no-verify-checksums ne vérifie pas les sommes de contrôle\n" -#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100 +#: pg_basebackup.c:436 +#, c-format +msgid "" +" --sync-method=METHOD\n" +" set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101 +#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111 #, c-format msgid "" "\n" @@ -619,24 +737,24 @@ msgstr "" "\n" "Options de connexion :\n" -#: pg_basebackup.c:429 pg_receivewal.c:97 +#: pg_basebackup.c:440 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=CHAÎNE_CONNEX chaîne de connexion\n" -#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données ou\n" " répertoire des sockets\n" -#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104 +#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT numéro de port du serveur de bases de données\n" -#: pg_basebackup.c:432 +#: pg_basebackup.c:443 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -645,24 +763,25 @@ msgstr "" " -s, --status-interval=INTERVAL durée entre l'envoi de paquets de statut au\n" " serveur (en secondes)\n" -#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=UTILISATEUR se connecte avec cet utilisateur\n" -#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais le mot de passe\n" -#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password force la demande du mot de passe (devrait\n" " survenir automatiquement)\n" -#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 +#: pg_recvlogical.c:118 #, c-format msgid "" "\n" @@ -671,484 +790,548 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 +#: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_basebackup.c:477 +#: pg_basebackup.c:488 #, c-format msgid "could not read from ready pipe: %m" msgstr "n'a pas pu lire à partir du tube : %m" -#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151 -#: streamutil.c:441 +#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 +#: streamutil.c:518 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »" -#: pg_basebackup.c:585 pg_receivewal.c:600 +#: pg_basebackup.c:596 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "n'a pas pu finir l'écriture dans les fichiers de transactions : %m" -#: pg_basebackup.c:631 +#: pg_basebackup.c:642 #, c-format msgid "could not create pipe for background process: %m" msgstr "n'a pas pu créer un tube pour le processus en tâche de fond : %m" -#: pg_basebackup.c:664 +#: pg_basebackup.c:676 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "a créé le slot de réplication temporaire « %s »" -#: pg_basebackup.c:667 +#: pg_basebackup.c:679 #, c-format msgid "created replication slot \"%s\"" msgstr "a créé le slot de réplication « %s »" -#: pg_basebackup.c:701 +#: pg_basebackup.c:728 #, c-format msgid "could not create background process: %m" msgstr "n'a pas pu créer un processus en tâche de fond : %m" -#: pg_basebackup.c:710 +#: pg_basebackup.c:737 #, c-format msgid "could not create background thread: %m" msgstr "n'a pas pu créer un thread en tâche de fond : %m" -#: pg_basebackup.c:749 +#: pg_basebackup.c:776 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "le répertoire « %s » existe mais n'est pas vide" -#: pg_basebackup.c:755 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "n'a pas pu accéder au répertoire « %s » : %m" -#: pg_basebackup.c:831 +#: pg_basebackup.c:858 #, c-format msgid "%*s/%s kB (100%%), %d/%d tablespace %*s" msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s" msgstr[0] "%*s/%s Ko (100%%), %d/%d tablespace %*s" msgstr[1] "%*s/%s Ko (100%%), %d/%d tablespaces %*s" -#: pg_basebackup.c:843 +#: pg_basebackup.c:870 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)" msgstr[0] "%*s/%s Ko (%d%%), %d/%d tablespace (%s%-*.*s)" msgstr[1] "%*s/%s Ko (%d%%), %d/%d tablespaces (%s%-*.*s)" -#: pg_basebackup.c:859 +#: pg_basebackup.c:886 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces" msgstr[0] "%*s/%s Ko (%d%%), %d/%d tablespace" msgstr[1] "%*s/%s Ko (%d%%), %d/%d tablespaces" -#: pg_basebackup.c:883 +#: pg_basebackup.c:910 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "le taux de transfert « %s » ne correspond pas à une valeur valide" -#: pg_basebackup.c:885 +#: pg_basebackup.c:912 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "taux de transfert invalide (« %s ») : %m" -#: pg_basebackup.c:892 +#: pg_basebackup.c:919 #, c-format msgid "transfer rate must be greater than zero" msgstr "le taux de transfert doit être supérieur à zéro" -#: pg_basebackup.c:922 +#: pg_basebackup.c:949 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "unité invalide pour --max-rate : « %s »" -#: pg_basebackup.c:926 +#: pg_basebackup.c:953 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "le taux de transfert « %s » dépasse l'échelle des entiers" -#: pg_basebackup.c:933 +#: pg_basebackup.c:960 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "le taux de transfert « %s » est en dehors des limites" -#: pg_basebackup.c:995 +#: pg_basebackup.c:1022 #, c-format msgid "could not get COPY data stream: %s" msgstr "n'a pas pu obtenir le flux de données de COPY : %s" -#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608 +#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625 #: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "n'a pas pu lire les données du COPY : %s" -#: pg_basebackup.c:1016 +#: pg_basebackup.c:1043 #, c-format msgid "background process terminated unexpectedly" msgstr "un processus worker s'est arrêté de façon inattendue" -#: pg_basebackup.c:1087 +#: pg_basebackup.c:1114 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "ne peut pas injecter le manifeste dans un fichier tar compressé" -#: pg_basebackup.c:1088 +#: pg_basebackup.c:1115 #, c-format msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s." msgstr "Utilisez la compression côté client, envoyez la sortie dans un répertoire plutôt que sur la sortie standard, ou utilisez %s." -#: pg_basebackup.c:1104 +#: pg_basebackup.c:1131 #, c-format msgid "cannot parse archive \"%s\"" msgstr "n'a pas pu analyser l'archive « %s »" -#: pg_basebackup.c:1105 +#: pg_basebackup.c:1132 #, c-format msgid "Only tar archives can be parsed." msgstr "Seules les archives tar peuvent être analysées" -#: pg_basebackup.c:1107 +#: pg_basebackup.c:1134 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "Le format plain requiert que pg_basebackup analyse l'archive." -#: pg_basebackup.c:1109 +#: pg_basebackup.c:1136 #, c-format msgid "Using - as the output directory requires pg_basebackup to parse the archive." msgstr "Utiliser - comme répertoire de sortie requiert que pg_basebackup analyse l'archive." -#: pg_basebackup.c:1111 +#: pg_basebackup.c:1138 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "L'option -R requiert que pg_basebackup analyse l'archive." -#: pg_basebackup.c:1330 +#: pg_basebackup.c:1357 #, c-format msgid "archives must precede manifest" msgstr "les archives doivent précéder le manifeste" -#: pg_basebackup.c:1345 +#: pg_basebackup.c:1372 #, c-format msgid "invalid archive name: \"%s\"" msgstr "nom d'archive invalide : « %s »" -#: pg_basebackup.c:1417 +#: pg_basebackup.c:1444 #, c-format msgid "unexpected payload data" msgstr "donnée de charge inattendue" -#: pg_basebackup.c:1560 +#: pg_basebackup.c:1587 #, c-format msgid "empty COPY message" msgstr "message COPY vide" -#: pg_basebackup.c:1562 +#: pg_basebackup.c:1589 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "message COPY malformé de type %d, longueur %zu" -#: pg_basebackup.c:1760 +#: pg_basebackup.c:1789 #, c-format msgid "incompatible server version %s" msgstr "version « %s » du serveur incompatible" -#: pg_basebackup.c:1776 +#: pg_basebackup.c:1805 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Utilisez -X none ou -X fetch pour désactiver la réplication en flux." -#: pg_basebackup.c:1844 +#: pg_basebackup.c:1841 +#, c-format +msgid "server does not support incremental backup" +msgstr "le serveur n'accepte pas les sauvegardes incrémentales" + +#: pg_basebackup.c:1850 pg_basebackup.c:2008 pg_recvlogical.c:272 +#: receivelog.c:543 receivelog.c:582 streamutil.c:364 streamutil.c:438 +#: streamutil.c:490 streamutil.c:578 streamutil.c:730 streamutil.c:775 +#, c-format +msgid "could not send replication command \"%s\": %s" +msgstr "n'a pas pu envoyer la commande de réplication « %s » : %s" + +#: pg_basebackup.c:1856 pg_basebackup.c:1883 +#, c-format +msgid "could not upload manifest: %s" +msgstr "n'a pas pu charger le manifeste : %s" + +#: pg_basebackup.c:1859 pg_basebackup.c:1886 +#, c-format +msgid "could not upload manifest: unexpected status %s" +msgstr "n'a pas pu charger le manifeste : statut %s inattendu" + +#: pg_basebackup.c:1867 +#, c-format +msgid "could not send COPY data: %s" +msgstr "n'a pas pu envoyer les données COPY : %s" + +#: pg_basebackup.c:1877 +#, c-format +msgid "could not send end-of-COPY: %s" +msgstr "n'a pas pu envoyer end-of-COPY : %s" + +#: pg_basebackup.c:1892 +#, c-format +msgid "unexpected extra result while sending manifest" +msgstr "résultat supplémentaire inattendu lors de l'envoi du manifeste" + +#: pg_basebackup.c:1950 #, c-format msgid "backup targets are not supported by this server version" msgstr "les cibles de sauvegarde ne sont pas supportées par cette version du serveur" -#: pg_basebackup.c:1847 +#: pg_basebackup.c:1953 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "la configuration de la restauration ne peut pas être écrite quand une cible de restauration est utilisée" -#: pg_basebackup.c:1874 +#: pg_basebackup.c:1980 #, c-format msgid "server does not support server-side compression" msgstr "le serveur ne supporte pas la compression côté serveur" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1990 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "début de la sauvegarde de base, en attente de la fin du checkpoint" -#: pg_basebackup.c:1888 +#: pg_basebackup.c:1994 #, c-format msgid "waiting for checkpoint" msgstr "en attente du checkpoint" -#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582 -#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501 -#: streamutil.c:653 streamutil.c:698 -#, c-format -msgid "could not send replication command \"%s\": %s" -msgstr "n'a pas pu envoyer la commande de réplication « %s » : %s" - -#: pg_basebackup.c:1909 +#: pg_basebackup.c:2016 #, c-format msgid "could not initiate base backup: %s" msgstr "n'a pas pu initier la sauvegarde de base : %s" -#: pg_basebackup.c:1912 +#: pg_basebackup.c:2019 #, c-format msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields" msgstr "le serveur a renvoyé une réponse inattendue à la commande BASE_BACKUP ; a récupéré %d lignes et %d champs, alors qu'il attendait %d lignes et %d champs" -#: pg_basebackup.c:1918 +#: pg_basebackup.c:2025 #, c-format msgid "checkpoint completed" msgstr "checkpoint terminé" -#: pg_basebackup.c:1932 +#: pg_basebackup.c:2039 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "point de départ du journal de transactions : %s sur la timeline %u" -#: pg_basebackup.c:1940 +#: pg_basebackup.c:2047 #, c-format msgid "could not get backup header: %s" msgstr "n'a pas pu obtenir l'en-tête du serveur : %s" -#: pg_basebackup.c:1943 +#: pg_basebackup.c:2050 #, c-format msgid "no data returned from server" msgstr "aucune donnée renvoyée du serveur" -#: pg_basebackup.c:1986 +#: pg_basebackup.c:2093 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "peut seulement écrire un tablespace sur la sortie standard, la base en a %d" -#: pg_basebackup.c:1999 +#: pg_basebackup.c:2106 #, c-format msgid "starting background WAL receiver" msgstr "lance le récepteur de journaux de transactions en tâche de fond" -#: pg_basebackup.c:2082 +#: pg_basebackup.c:2189 #, c-format msgid "backup failed: %s" msgstr "échec de la sauvegarde : %s" -#: pg_basebackup.c:2085 +#: pg_basebackup.c:2192 #, c-format msgid "no write-ahead log end position returned from server" msgstr "aucune position de fin du journal de transactions renvoyée par le serveur" -#: pg_basebackup.c:2088 +#: pg_basebackup.c:2195 #, c-format msgid "write-ahead log end point: %s" msgstr "point final du journal de transactions : %s" -#: pg_basebackup.c:2099 +#: pg_basebackup.c:2206 #, c-format msgid "checksum error occurred" msgstr "erreur de somme de contrôle" -#: pg_basebackup.c:2104 +#: pg_basebackup.c:2211 #, c-format msgid "final receive failed: %s" msgstr "échec lors de la réception finale : %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2235 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "en attente que le processus en tâche de fond termine le flux..." -#: pg_basebackup.c:2132 +#: pg_basebackup.c:2239 #, c-format msgid "could not send command to background pipe: %m" msgstr "n'a pas pu envoyer la commande au tube du processus : %m" -#: pg_basebackup.c:2137 +#: pg_basebackup.c:2244 #, c-format msgid "could not wait for child process: %m" msgstr "n'a pas pu attendre le processus fils : %m" -#: pg_basebackup.c:2139 +#: pg_basebackup.c:2246 #, c-format msgid "child %d died, expected %d" msgstr "le fils %d est mort, %d attendu" -#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196 +#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2268 #, c-format msgid "could not wait for child thread: %m" msgstr "n'a pas pu attendre le thread : %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2273 #, c-format msgid "could not get child thread exit status: %m" msgstr "n'a pas pu obtenir le code de sortie du thread : %m" -#: pg_basebackup.c:2169 +#: pg_basebackup.c:2276 #, c-format msgid "child thread exited with error %u" msgstr "le thread a quitté avec le code d'erreur %u" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2305 #, c-format msgid "syncing data to disk ..." msgstr "synchronisation des données sur disque..." -#: pg_basebackup.c:2223 +#: pg_basebackup.c:2330 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "renommage de backup_manifest.tmp en backup_manifest" -#: pg_basebackup.c:2243 +#: pg_basebackup.c:2350 #, c-format msgid "base backup completed" msgstr "sauvegarde de base terminée" -#: pg_basebackup.c:2326 +#: pg_basebackup.c:2436 #, c-format msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" msgstr "argument « %s » invalide pour le CHECKPOINT, doit être soit « fast » soit « spread »" -#: pg_basebackup.c:2344 +#: pg_basebackup.c:2454 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "format de sortie « %s » invalide, doit être soit « plain » soit « tar »" -#: pg_basebackup.c:2422 +#: pg_basebackup.c:2535 #, c-format msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" msgstr "option wal-method « %s » invalide, doit être soit « fetch » soit « stream » soit « none »" -#: pg_basebackup.c:2457 pg_basebackup.c:2469 pg_basebackup.c:2491 -#: pg_basebackup.c:2503 pg_basebackup.c:2509 pg_basebackup.c:2561 -#: pg_basebackup.c:2572 pg_basebackup.c:2582 pg_basebackup.c:2588 -#: pg_basebackup.c:2595 pg_basebackup.c:2607 pg_basebackup.c:2619 -#: pg_basebackup.c:2627 pg_basebackup.c:2640 pg_basebackup.c:2646 -#: pg_basebackup.c:2655 pg_basebackup.c:2667 pg_basebackup.c:2678 -#: pg_basebackup.c:2686 pg_receivewal.c:748 pg_receivewal.c:760 +#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608 +#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678 +#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705 +#: pg_basebackup.c:2712 pg_basebackup.c:2724 pg_basebackup.c:2736 +#: pg_basebackup.c:2744 pg_basebackup.c:2757 pg_basebackup.c:2763 +#: pg_basebackup.c:2772 pg_basebackup.c:2784 pg_basebackup.c:2795 +#: pg_basebackup.c:2803 pg_createsubscriber.c:2037 pg_createsubscriber.c:2047 +#: pg_createsubscriber.c:2055 pg_createsubscriber.c:2083 +#: pg_createsubscriber.c:2115 pg_receivewal.c:748 pg_receivewal.c:760 #: pg_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 -#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847 -#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871 -#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892 -#: pg_recvlogical.c:899 pg_recvlogical.c:906 +#: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865 +#: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889 +#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910 +#: pg_recvlogical.c:917 pg_recvlogical.c:924 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_basebackup.c:2490 +#: pg_basebackup.c:2607 #, c-format msgid "cannot specify both format and backup target" msgstr "ne peut pas spécifier à la fois le format et la cible de sauvegarde" -#: pg_basebackup.c:2502 +#: pg_basebackup.c:2619 #, c-format msgid "must specify output directory or backup target" msgstr "doit spécifier un répertoire de sortie ou une cible de sauvegarde" -#: pg_basebackup.c:2508 +#: pg_basebackup.c:2625 #, c-format msgid "cannot specify both output directory and backup target" msgstr "ne peut pas spécifier à la fois le répertoire en sortie et la cible de sauvegarde" -#: pg_basebackup.c:2538 pg_receivewal.c:802 +#: pg_basebackup.c:2655 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algorithme de compression inconnu : « %s »" -#: pg_basebackup.c:2544 pg_receivewal.c:809 +#: pg_basebackup.c:2661 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "spécification de compression invalide : %s" -#: pg_basebackup.c:2560 +#: pg_basebackup.c:2677 #, c-format msgid "client-side compression is not possible when a backup target is specified" msgstr "la compression client n'est pas possible quand une cible de restauration est indiquée." -#: pg_basebackup.c:2571 +#: pg_basebackup.c:2688 #, c-format msgid "only tar mode backups can be compressed" msgstr "seules les sauvegardes en mode tar peuvent être compressées" -#: pg_basebackup.c:2581 +#: pg_basebackup.c:2698 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "Les journaux de transactions ne peuvent pas être envoyés en flux quand une cible de sauvegarde est indiquée." -#: pg_basebackup.c:2587 +#: pg_basebackup.c:2704 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "ne peut pas envoyer les journaux de transactions vers stdout en mode tar" -#: pg_basebackup.c:2594 +#: pg_basebackup.c:2711 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "les slots de réplications peuvent seulement être utilisés avec la réplication en flux des WAL" -#: pg_basebackup.c:2606 +#: pg_basebackup.c:2723 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot ne peut pas être utilisé avec un nom de slot" #. translator: second %s is an option name -#: pg_basebackup.c:2617 pg_receivewal.c:774 +#: pg_basebackup.c:2734 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "%s a besoin du slot avec l'option --slot" -#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676 -#: pg_basebackup.c:2684 +#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793 +#: pg_basebackup.c:2801 #, c-format msgid "%s and %s are incompatible options" msgstr "%s et %s sont des options incompatibles" -#: pg_basebackup.c:2639 +#: pg_basebackup.c:2756 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "l'emplacement du répertoire des journaux de transactions ne peut pas être indiqué avec une cible de sauvegarde" -#: pg_basebackup.c:2645 +#: pg_basebackup.c:2762 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "l'emplacement du répertoire des journaux de transactions doit être indiqué uniquement dans le mode plain" -#: pg_basebackup.c:2654 +#: pg_basebackup.c:2771 #, c-format msgid "WAL directory location must be an absolute path" msgstr "l'emplacement du répertoire des journaux de transactions doit être indiqué avec un chemin absolu" -#: pg_basebackup.c:2754 +#: pg_basebackup.c:2871 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "n'a pas pu créer le lien symbolique « %s » : %m" -#: pg_receivewal.c:77 +#: pg_createsubscriber.c:169 +#, c-format +msgid "failed after the end of recovery" +msgstr "échec après la fin de la restauration" + +#: pg_createsubscriber.c:170 +#, c-format +msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." +msgstr "Le serveur cible ne peut plus être utilisé comme un réplicat physique. Vous devez recréer le réplicat physique avant de continuer." + +#: pg_createsubscriber.c:198 +#, c-format +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "la publication « %s » dans la base « %s » sur le primaire pourrait être laissé derrière" + +#: pg_createsubscriber.c:200 +#, c-format +msgid "Drop this publication before trying again." +msgstr "Supprimez cette publication avant de tenter de nouveau." + +#: pg_createsubscriber.c:204 +#, c-format +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "le slot de réplication « %s » dans la base « %s » sur le primaire pourrait être laissé derrière" + +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 +#, c-format +msgid "Drop this replication slot soon to avoid retention of WAL files." +msgstr "Supprimez rapidement ce slot de réplication pour éviter la rétention des fichiers WAL." + +#: pg_createsubscriber.c:219 #, c-format msgid "" -"%s receives PostgreSQL streaming write-ahead logs.\n" +"%s creates a new logical replica from a standby server.\n" "\n" msgstr "" -"%s reçoit le flux des journaux de transactions PostgreSQL.\n" +"%s crée un nouveau réplicat logique à partir d'un serveur secondaire.\n" "\n" -#: pg_receivewal.c:81 pg_recvlogical.c:82 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1157,6 +1340,626 @@ msgstr "" "\n" "Options :\n" +#: pg_createsubscriber.c:224 +#, c-format +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --dbname=BASE base de données où créer la souscription\n" + +#: pg_createsubscriber.c:225 +#, c-format +msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" +msgstr " [-D, --pgdata=]RÉP_DONNEES emplacement du répertoire de données de l'abonné\n" + +#: pg_createsubscriber.c:226 +#, c-format +msgid " -n, --dry-run dry run, just show what would be done\n" +msgstr "" +" -n, --dry-run pas d'exécution, affiche\n" +" simplement ce qui sera fait\n" + +#: pg_createsubscriber.c:227 +#, c-format +msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" +msgstr " -p, --subscriber-port=PORT numéro de port de l'abonné (par défaut %s)\n" + +#: pg_createsubscriber.c:228 +#, c-format +msgid " -P, --publisher-server=CONNSTR publisher connection string\n" +msgstr " -P, --publisher-server=CHAÎNE_CONNEX chaîne de connexion du publieur\n" + +#: pg_createsubscriber.c:229 +#, c-format +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=RÉP répertoire de la socket à utiliser (par défaut, le répertoire courant)\n" + +#: pg_createsubscriber.c:230 +#, c-format +msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" +msgstr " -t, --recovery-timeout=SECS durée en secondes à attendre pour la fin de la restauration\n" + +#: pg_createsubscriber.c:231 +#, c-format +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NOM nom d'utilisateur pour la connexion de l'abonné\n" + +#: pg_createsubscriber.c:232 +#, c-format +msgid " -v, --verbose output verbose messages\n" +msgstr " -v, --verbose affiche des messages verbeux\n" + +#: pg_createsubscriber.c:233 +#, c-format +msgid "" +" --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" +msgstr "" +" --config-file=NOMFICHIER utilise le fichier de configuration indiqué\n" +" du serveur principal lors de l'exécution de\n" +" l'instance cible\n" + +#: pg_createsubscriber.c:235 +#, c-format +msgid " --publication=NAME publication name\n" +msgstr " --publication=NOM nom de la publication\n" + +#: pg_createsubscriber.c:236 +#, c-format +msgid " --replication-slot=NAME replication slot name\n" +msgstr " --replication-slot=NOM nom du slot de réplication\n" + +#: pg_createsubscriber.c:237 +#, c-format +msgid " --subscription=NAME subscription name\n" +msgstr " --subscription=NOM nom de la souscription\n" + +#: pg_createsubscriber.c:238 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" + +#: pg_createsubscriber.c:239 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" + +#: pg_createsubscriber.c:282 +#, c-format +msgid "could not parse connection string: %s" +msgstr "n'a pas pu analyser la chaîne de connexion : %s" + +#: pg_createsubscriber.c:359 +#, c-format +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" +msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" + +#: pg_createsubscriber.c:362 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" + +#: pg_createsubscriber.c:382 +#, c-format +msgid "checking if directory \"%s\" is a cluster data directory" +msgstr "vérification si le répertoire « %s » est le répertoire d'une instance" + +#: pg_createsubscriber.c:388 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "le répertoire des données « %s » n'existe pas" + +#: pg_createsubscriber.c:396 +#, c-format +msgid "directory \"%s\" is not a database cluster directory" +msgstr "le répertoire « %s » n'est pas un répertoire d'instance" + +#: pg_createsubscriber.c:513 +#, c-format +msgid "connection to database failed: %s" +msgstr "échec de la connexion à la base de données : %s" + +#: pg_createsubscriber.c:526 +#, c-format +msgid "could not clear search_path: %s" +msgstr "n'a pas pu effacer search_path : %s" + +#: pg_createsubscriber.c:566 +#, c-format +msgid "getting system identifier from publisher" +msgstr "recherche de l'identifieur système sur le publieur" + +#: pg_createsubscriber.c:573 +#, c-format +msgid "could not get system identifier: %s" +msgstr "n'a pas pu obtenir l'identifiant du système : %s" + +#: pg_createsubscriber.c:579 +#, c-format +msgid "could not get system identifier: got %d rows, expected %d row" +msgstr "n'a pas pu obtenir l'identifiant du système : lu %d octets, %d attendus" + +#: pg_createsubscriber.c:586 +#, c-format +msgid "system identifier is %llu on publisher" +msgstr "l'identifieur système est %llu sur le publieur" + +#: pg_createsubscriber.c:607 +#, c-format +msgid "getting system identifier from subscriber" +msgstr "recherche l'identifieur système sur l'abonné" + +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 +#, c-format +msgid "control file appears to be corrupt" +msgstr "le fichier de contrôle semble corrompu" + +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 +#, c-format +msgid "system identifier is %llu on subscriber" +msgstr "l'identifieur système est %llu sur l'abonné" + +#: pg_createsubscriber.c:637 +#, c-format +msgid "modifying system identifier of subscriber" +msgstr "modification de l'identifieur système sur l'abonné" + +#: pg_createsubscriber.c:659 +#, c-format +msgid "running pg_resetwal on the subscriber" +msgstr "exécution de pg_resetwal sur l'abonné" + +#: pg_createsubscriber.c:671 +#, c-format +msgid "subscriber successfully changed the system identifier" +msgstr "l'abonné a modifié avec succès l'identifieur système" + +#: pg_createsubscriber.c:673 +#, c-format +msgid "could not change system identifier of subscriber: %s" +msgstr "n'a pas pu modifier l'identifiant du système abonné : %s" + +#: pg_createsubscriber.c:697 +#, c-format +msgid "could not obtain database OID: %s" +msgstr "n'a pas pu obtenir l'OID de la base : %s" + +#: pg_createsubscriber.c:704 +#, c-format +msgid "could not obtain database OID: got %d rows, expected %d row" +msgstr "n'a pas pu obtenir l'OID de la base de données : %d lignes attendues, %d ligne reçue" + +#: pg_createsubscriber.c:776 +#, c-format +msgid "create replication slot \"%s\" on publisher" +msgstr "création du slot de réplication « %s » sur le publieur" + +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "n'a pas pu écrire un enregistrement WAL supplémentaire : %s" + +#: pg_createsubscriber.c:822 +#, c-format +msgid "could not obtain recovery progress: %s" +msgstr "n'a pas pu obtenir la progression de la restauration : %s" + +#: pg_createsubscriber.c:854 +#, c-format +msgid "checking settings on publisher" +msgstr "vérification de la configuration du publieur" + +#: pg_createsubscriber.c:864 +#, c-format +msgid "primary server cannot be in recovery" +msgstr "le serveur primaire ne peut pas être en restauration" + +#: pg_createsubscriber.c:888 +#, c-format +msgid "could not obtain publisher settings: %s" +msgstr "n'a pas pu obtenir la configuration du publieur : %s" + +#: pg_createsubscriber.c:914 +#, c-format +msgid "publisher requires wal_level >= \"logical\"" +msgstr "le publieur requiert wal_level >= « logical »" + +#: pg_createsubscriber.c:920 +#, c-format +msgid "publisher requires %d replication slots, but only %d remain" +msgstr "le publieur requiert %d slots de réplication, mais seuls %d restent" + +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "Augmentez le paramètre de configuration « %s » à au moins %d." + +#: pg_createsubscriber.c:929 +#, c-format +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "le publieur requiert %d processus wal sender, mais seuls %d restent" + +#: pg_createsubscriber.c:938 +#, c-format +msgid "two_phase option will not be enabled for replication slots" +msgstr "l'option two_phase ne sera pas activée pour les slots de réplication" + +#: pg_createsubscriber.c:939 +#, c-format +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "Les souscriptions seront créées avec l'option two_phase désactivé. Les transactions préparées seront répliquées au COMMIT PREPARED." + +#: pg_createsubscriber.c:971 +#, c-format +msgid "checking settings on subscriber" +msgstr "vérification de la configuration sur l'abonné" + +#: pg_createsubscriber.c:978 +#, c-format +msgid "target server must be a standby" +msgstr "le serveur cible doit être un secondaire" + +#: pg_createsubscriber.c:1002 +#, c-format +msgid "could not obtain subscriber settings: %s" +msgstr "n'a pas pu obtenir la configuration de l'abonné : %s" + +#: pg_createsubscriber.c:1026 +#, c-format +msgid "subscriber requires %d replication slots, but only %d remain" +msgstr "l'abonné requiert %d slots de réplication, mais seuls %d restent" + +#: pg_createsubscriber.c:1035 +#, c-format +msgid "subscriber requires %d logical replication workers, but only %d remain" +msgstr "l'abonné requiert %d processus worker de réplication logique, mais seuls %d restent" + +#: pg_createsubscriber.c:1044 +#, c-format +msgid "subscriber requires %d worker processes, but only %d remain" +msgstr "l'abonné requiert %d processus worker, mais seuls %d restent" + +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "suppression de la souscription « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "n'a pas pu supprimer la souscription « %s » : %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "n'a pas pu obtenir les souscriptions pré-existantes : %s" + +#: pg_createsubscriber.c:1258 +#, c-format +msgid "could not drop replication slot \"%s\" on primary" +msgstr "n'a pas pu supprimer le slot de réplication « %s » sur le primaire" + +#: pg_createsubscriber.c:1292 +#, c-format +msgid "could not obtain failover replication slot information: %s" +msgstr "n'a pas pu obtenir l'information de slot de réplication failover : %s" + +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 +#, c-format +msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." +msgstr "Supprimez rapidement les slots de réplication failover sur l'abonnée pour éviter la rétention des fichiers WAL." + +#: pg_createsubscriber.c:1302 +#, c-format +msgid "could not drop failover replication slot" +msgstr "n'a pas pu supprimer le slot de réplication failover" + +#: pg_createsubscriber.c:1324 +#, c-format +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "création du slot de réplication « %s » dans la base « %s »" + +#: pg_createsubscriber.c:1342 +#, c-format +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu créer le slot de réplication « %s » dans la base « %s » : %s" + +#: pg_createsubscriber.c:1372 +#, c-format +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "suppression du slot de réplication « %s » dans la base « %s »" + +#: pg_createsubscriber.c:1388 +#, c-format +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu supprimer le slot de réplication « %s » dans la base « %s » : %s" + +#: pg_createsubscriber.c:1409 +#, c-format +msgid "pg_ctl failed with exit code %d" +msgstr "échec de pg_ctl avec un code de retour %d" + +#: pg_createsubscriber.c:1414 +#, c-format +msgid "pg_ctl was terminated by exception 0x%X" +msgstr "pg_ctl a été terminé par l'exception 0x%X" + +#: pg_createsubscriber.c:1416 +#, c-format +msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." +msgstr "" +"Voir le fichier d'en-tête C « ntstatus.h » pour une description de la valeur\n" +"hexadécimale." + +#: pg_createsubscriber.c:1418 +#, c-format +msgid "pg_ctl was terminated by signal %d: %s" +msgstr "pg_ctl a été terminé par le signal %d : %s" + +#: pg_createsubscriber.c:1424 +#, c-format +msgid "pg_ctl exited with unrecognized status %d" +msgstr "pg_ctl a quitté avec un statut %d non reconnu" + +#: pg_createsubscriber.c:1427 +#, c-format +msgid "The failed command was: %s" +msgstr "La commande échouée était : %s" + +#: pg_createsubscriber.c:1473 +#, c-format +msgid "server was started" +msgstr "le serveur a été démarré" + +#: pg_createsubscriber.c:1488 +#, c-format +msgid "server was stopped" +msgstr "le serveur a été arrêté" + +#: pg_createsubscriber.c:1507 +#, c-format +msgid "waiting for the target server to reach the consistent state" +msgstr "en attente de l'atteinte de l'état de cohérence sur le serveur cible" + +#: pg_createsubscriber.c:1530 +#, c-format +msgid "recovery timed out" +msgstr "délai de restauration atteint" + +#: pg_createsubscriber.c:1543 +#, c-format +msgid "server did not end recovery" +msgstr "le serveur n'a pas terminé la restauration" + +#: pg_createsubscriber.c:1545 +#, c-format +msgid "target server reached the consistent state" +msgstr "le serveur cible a atteint l'état de cohérence" + +#: pg_createsubscriber.c:1546 +#, c-format +msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." +msgstr "Si pg_createsubscriber échoue après cela, vous devez recréer le réplicat physique avant de continuer." + +#: pg_createsubscriber.c:1573 +#, c-format +msgid "could not obtain publication information: %s" +msgstr "n'a pas pu obtenir une information sur la publication : %s" + +#: pg_createsubscriber.c:1587 +#, c-format +msgid "publication \"%s\" already exists" +msgstr "la publication « %s » existe déjà" + +#: pg_createsubscriber.c:1588 +#, c-format +msgid "Consider renaming this publication before continuing." +msgstr "Pensez à renommer cette publication avant de continuer." + +#: pg_createsubscriber.c:1595 +#, c-format +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "création de la publication « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1608 +#, c-format +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu créer la publication « %s » dans la base de données « %s » : %s" + +#: pg_createsubscriber.c:1637 +#, c-format +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "suppression de la publication « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1651 +#, c-format +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu supprimer la publication « %s » dans la base de données « %s » : %s" + +#: pg_createsubscriber.c:1697 +#, c-format +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "création de la souscription « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1718 +#, c-format +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu créer la souscription « %s » dans la base « %s » : %s" + +#: pg_createsubscriber.c:1763 +#, c-format +msgid "could not obtain subscription OID: %s" +msgstr "n'a pas pu obtenir l'OID de la souscription : %s" + +#: pg_createsubscriber.c:1770 +#, c-format +msgid "could not obtain subscription OID: got %d rows, expected %d row" +msgstr "n'a pas pu obtenir l'OID de la souscription : attendait %d lignes, a reçu %d ligne" + +#: pg_createsubscriber.c:1794 +#, c-format +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "configuration de la progression de la réplication (nom du noeud « %s » , LSN %s) dans la base de données « %s »" + +#: pg_createsubscriber.c:1809 +#, c-format +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "n'a pas pu configurer la progression de la réplication pour la souscription « %s » : %s" + +#: pg_createsubscriber.c:1840 +#, c-format +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "activation de la souscription « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1852 +#, c-format +msgid "could not enable subscription \"%s\": %s" +msgstr "n'a pas pu activer la souscription « %s » : %s" + +#: pg_createsubscriber.c:1944 +#, c-format +msgid "cannot be executed by \"root\"" +msgstr "ne peut pas être exécuté par « root »" + +#: pg_createsubscriber.c:1945 +#, c-format +msgid "You must run %s as the PostgreSQL superuser." +msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL." + +#: pg_createsubscriber.c:1966 +#, c-format +msgid "database \"%s\" specified more than once" +msgstr "la base de données « %s » est spécifiée plus d'une fois" + +#: pg_createsubscriber.c:2007 +#, c-format +msgid "publication \"%s\" specified more than once" +msgstr "la publication « %s » est spécifiée plus d'une fois" + +#: pg_createsubscriber.c:2019 +#, c-format +msgid "replication slot \"%s\" specified more than once" +msgstr "le slot de réplication « %s » est spécifié plus d'une fois" + +#: pg_createsubscriber.c:2031 +#, c-format +msgid "subscription \"%s\" specified more than once" +msgstr "la souscription « %s » est spécifiée plus d'une fois" + +#: pg_createsubscriber.c:2054 +#, c-format +msgid "no subscriber data directory specified" +msgstr "aucune chaîne de connexion de l'abonné indiquée" + +#: pg_createsubscriber.c:2065 +#, c-format +msgid "could not determine current directory" +msgstr "n'a pas pu déterminer le répertoire courant" + +#: pg_createsubscriber.c:2082 +#, c-format +msgid "no publisher connection string specified" +msgstr "aucune chaîne de connexion du publieur indiquée" + +#: pg_createsubscriber.c:2086 +#, c-format +msgid "validating publisher connection string" +msgstr "validation de la chaîne de connexion du publieur" + +#: pg_createsubscriber.c:2092 +#, c-format +msgid "validating subscriber connection string" +msgstr "validation de la chaîne de connexion de l'abonné" + +#: pg_createsubscriber.c:2097 +#, c-format +msgid "no database was specified" +msgstr "aucune base de données n'a été indiquée" + +#: pg_createsubscriber.c:2109 +#, c-format +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "le nom de la base de données « %s » a été extrait de la chaîne de connexion du publieur" + +#: pg_createsubscriber.c:2114 +#, c-format +msgid "no database name specified" +msgstr "aucun nom de base de données indiqué" + +#: pg_createsubscriber.c:2124 +#, c-format +msgid "wrong number of publication names specified" +msgstr "mauvais nombre de noms de publication indiqués" + +#: pg_createsubscriber.c:2125 +#, c-format +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "Le nombre de noms de publication indiqués (%d) doit correspondre au nombre de noms de bases de données indiqués (%d)" + +#: pg_createsubscriber.c:2131 +#, c-format +msgid "wrong number of subscription names specified" +msgstr "mauvais nombre de noms de souscription indiqués" + +#: pg_createsubscriber.c:2132 +#, c-format +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "Le nombre de noms de souscriptions indiqués (%d) doit correspondre au nombre de noms de bases de données indiqués (%d)" + +#: pg_createsubscriber.c:2138 +#, c-format +msgid "wrong number of replication slot names specified" +msgstr "mauvais nombre de noms de slots de réplication indiqués" + +#: pg_createsubscriber.c:2139 +#, c-format +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "Le nombre de noms de slots de réplication indiqués (%d) doit correspondre au nombre de noms de bases de données indiqués (%d)" + +#: pg_createsubscriber.c:2168 +#, c-format +msgid "subscriber data directory is not a copy of the source database cluster" +msgstr "le répertoire de données de l'abonné n'est pas une copie de l'instance source" + +#: pg_createsubscriber.c:2181 +#, c-format +msgid "standby server is running" +msgstr "le serveur secondaire est en cours d'exécution" + +#: pg_createsubscriber.c:2182 +#, c-format +msgid "Stop the standby server and try again." +msgstr "Arrêtez le secondaire et tentez de nouveau." + +#: pg_createsubscriber.c:2191 +#, c-format +msgid "starting the standby server with command-line options" +msgstr "lancement du serveur secondaire avec les options en ligne de commande" + +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 +#, c-format +msgid "stopping the subscriber" +msgstr "arrêt de l'abonné" + +#: pg_createsubscriber.c:2221 +#, c-format +msgid "starting the subscriber" +msgstr "lancement de l'abonné" + +#: pg_createsubscriber.c:2250 +#, c-format +msgid "Done!" +msgstr "Terminé !" + +#: pg_receivewal.c:77 +#, c-format +msgid "" +"%s receives PostgreSQL streaming write-ahead logs.\n" +"\n" +msgstr "" +"%s reçoit le flux des journaux de transactions PostgreSQL.\n" +"\n" + #: pg_receivewal.c:82 #, c-format msgid " -D, --directory=DIR receive write-ahead log files into this directory\n" @@ -1164,19 +1967,19 @@ msgstr "" " -D, --directory=RÉPERTOIRE reçoit les journaux de transactions dans ce\n" " répertoire\n" -#: pg_receivewal.c:83 pg_recvlogical.c:83 +#: pg_receivewal.c:83 pg_recvlogical.c:93 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr " -E, --endpos=LSN quitte après avoir reçu le LSN spécifié\n" -#: pg_receivewal.c:84 pg_recvlogical.c:87 +#: pg_receivewal.c:84 pg_recvlogical.c:97 #, c-format msgid " --if-not-exists do not error if slot already exists when creating a slot\n" msgstr "" " --if-not-exists ne pas renvoyer une erreur si le slot existe\n" " déjà lors de sa création\n" -#: pg_receivewal.c:85 pg_recvlogical.c:89 +#: pg_receivewal.c:85 pg_recvlogical.c:99 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop ne boucle pas en cas de perte de la connexion\n" @@ -1188,7 +1991,7 @@ msgstr "" " --no-sync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_receivewal.c:87 pg_recvlogical.c:94 +#: pg_receivewal.c:87 pg_recvlogical.c:104 #, c-format msgid "" " -s, --status-interval=SECS\n" @@ -1222,14 +2025,14 @@ msgstr "" "\n" "Actions optionnelles :\n" -#: pg_receivewal.c:104 pg_recvlogical.c:79 +#: pg_receivewal.c:104 pg_recvlogical.c:89 #, c-format msgid " --create-slot create a new replication slot (for the slot's name see --slot)\n" msgstr "" " --create-slot crée un nouveau slot de réplication\n" " (pour le nom du slot, voir --slot)\n" -#: pg_receivewal.c:105 pg_recvlogical.c:80 +#: pg_receivewal.c:105 pg_recvlogical.c:90 #, c-format msgid " --drop-slot drop the replication slot (for the slot's name see --slot)\n" msgstr "" @@ -1251,7 +2054,7 @@ msgstr "arrêt du flux streaming à %X/%X (timeline %u)" msgid "switched to timeline %u at %X/%X" msgstr "a basculé sur la timeline %u à %X/%X" -#: pg_receivewal.c:224 +#: pg_receivewal.c:224 pg_recvlogical.c:1053 #, c-format msgid "received interrupt signal, exiting" msgstr "a reçu un signal d'interruption, quitte" @@ -1296,11 +2099,6 @@ msgstr "le segment compressé « %s » a une taille %d non compressé incorrecte msgid "could not create LZ4 decompression context: %s" msgstr "n'a pas pu créer le contexte de décompression LZ4 : %s" -#: pg_receivewal.c:402 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - #: pg_receivewal.c:420 #, c-format msgid "could not decompress file \"%s\": %s" @@ -1326,7 +2124,7 @@ msgstr "ne peut pas vérifier le fichier « %s » : la compression avec %s n'a p msgid "starting log streaming at %X/%X (timeline %u)" msgstr "commence le flux des journaux à %X/%X (timeline %u)" -#: pg_receivewal.c:693 pg_recvlogical.c:783 +#: pg_receivewal.c:693 pg_recvlogical.c:801 #, c-format msgid "could not parse end position \"%s\"" msgstr "n'a pas pu analyser la position finale « %s »" @@ -1356,28 +2154,28 @@ msgstr "la méthode de compression %s n'est pas encore supportée" msgid "replication connection using slot \"%s\" is unexpectedly database specific" msgstr "la connexion de réplication utilisant le slot « %s » est spécifique à une base, ce qui est inattendu" -#: pg_receivewal.c:878 pg_recvlogical.c:954 +#: pg_receivewal.c:878 pg_recvlogical.c:972 #, c-format msgid "dropping replication slot \"%s\"" msgstr "suppression du slot de réplication « %s »" -#: pg_receivewal.c:889 pg_recvlogical.c:964 +#: pg_receivewal.c:889 pg_recvlogical.c:982 #, c-format msgid "creating replication slot \"%s\"" msgstr "création du slot de réplication « %s »" -#: pg_receivewal.c:918 pg_recvlogical.c:988 +#: pg_receivewal.c:918 pg_recvlogical.c:1006 #, c-format msgid "disconnected" msgstr "déconnecté" #. translator: check source for value for %d -#: pg_receivewal.c:922 pg_recvlogical.c:992 +#: pg_receivewal.c:922 pg_recvlogical.c:1010 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "déconnecté, attente de %d secondes avant une nouvelle tentative" -#: pg_recvlogical.c:74 +#: pg_recvlogical.c:84 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1386,7 +2184,7 @@ msgstr "" "%s contrôle le flux des modifications logiques de PostgreSQL.\n" "\n" -#: pg_recvlogical.c:78 +#: pg_recvlogical.c:88 #, c-format msgid "" "\n" @@ -1395,21 +2193,21 @@ msgstr "" "\n" "Action à réaliser :\n" -#: pg_recvlogical.c:81 +#: pg_recvlogical.c:91 #, c-format msgid " --start start streaming in a replication slot (for the slot's name see --slot)\n" msgstr "" " --start lance le flux dans un slot de réplication (pour\n" " le nom du slot, voir --slot)\n" -#: pg_recvlogical.c:84 +#: pg_recvlogical.c:94 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr "" " -f, --file=FICHIER trace la réception dans ce fichier, - pour\n" " stdout\n" -#: pg_recvlogical.c:85 +#: pg_recvlogical.c:95 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1418,14 +2216,14 @@ msgstr "" " -F --fsync-interval=SECS durée entre les fsyncs vers le fichier de sortie\n" " (par défaut %d)\n" -#: pg_recvlogical.c:88 +#: pg_recvlogical.c:98 #, c-format msgid " -I, --startpos=LSN where in an existing slot should the streaming start\n" msgstr "" " -I, --startpos=LSN position de début du streaming dans le slot\n" " existant\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:100 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1435,145 +2233,145 @@ msgstr "" " -o, --option=NOM[=VALEUR] passe l'option NOM avec la valeur optionnelle\n" " VALEUR au plugin en sortie\n" -#: pg_recvlogical.c:93 +#: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr "" " -P, --plugin=PLUGIN utilise le plugin PLUGIN en sortie (par défaut\n" " %s)\n" -#: pg_recvlogical.c:96 +#: pg_recvlogical.c:106 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=SLOT nom du slot de réplication logique\n" -#: pg_recvlogical.c:97 +#: pg_recvlogical.c:107 #, c-format msgid " -t, --two-phase enable decoding of prepared transactions when creating a slot\n" msgstr " -t, --two-phase active le décodage des transactions préparées lors de la création d'un slot\n" -#: pg_recvlogical.c:102 +#: pg_recvlogical.c:112 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=BASE base de données de connexion\n" -#: pg_recvlogical.c:135 +#: pg_recvlogical.c:145 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "confirmation d'écriture jusqu'à %X/%X et de synchronisation jusqu'à %X/%X (slot %s)" -#: pg_recvlogical.c:159 receivelog.c:360 +#: pg_recvlogical.c:169 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "n'a pas pu envoyer le paquet d'informations en retour : %s" -#: pg_recvlogical.c:227 +#: pg_recvlogical.c:239 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "commence le flux des journaux à %X/%X (slot %s)" -#: pg_recvlogical.c:269 +#: pg_recvlogical.c:281 #, c-format msgid "streaming initiated" msgstr "flux lancé" -#: pg_recvlogical.c:333 +#: pg_recvlogical.c:346 #, c-format msgid "could not open log file \"%s\": %m" msgstr "n'a pas pu ouvrir le journal applicatif « %s » : %m" -#: pg_recvlogical.c:362 receivelog.c:882 +#: pg_recvlogical.c:375 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "socket invalide : %s" -#: pg_recvlogical.c:415 receivelog.c:910 +#: pg_recvlogical.c:428 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: pg_recvlogical.c:422 receivelog.c:959 +#: pg_recvlogical.c:435 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "n'a pas pu recevoir des données du flux de WAL : %s" -#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003 +#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003 #: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "en-tête de flux trop petit : %d" -#: pg_recvlogical.c:499 receivelog.c:843 +#: pg_recvlogical.c:512 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "entête non reconnu du flux : « %c »" -#: pg_recvlogical.c:553 pg_recvlogical.c:565 +#: pg_recvlogical.c:566 pg_recvlogical.c:578 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "n'a pas pu écrire %d octets dans le journal de transactions « %s » : %m" -#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679 +#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "fin inattendue du flux de réplication : %s" -#: pg_recvlogical.c:778 +#: pg_recvlogical.c:796 #, c-format msgid "could not parse start position \"%s\"" msgstr "n'a pas pu analyser la position de départ « %s »" -#: pg_recvlogical.c:856 +#: pg_recvlogical.c:874 #, c-format msgid "no slot specified" msgstr "aucun slot de réplication indiqué" -#: pg_recvlogical.c:863 +#: pg_recvlogical.c:881 #, c-format msgid "no target file specified" msgstr "aucun fichier cible indiqué" -#: pg_recvlogical.c:870 +#: pg_recvlogical.c:888 #, c-format msgid "no database specified" msgstr "aucune base de données indiquée" -#: pg_recvlogical.c:877 +#: pg_recvlogical.c:895 #, c-format msgid "at least one action needs to be specified" msgstr "au moins une action doit être indiquée" -#: pg_recvlogical.c:884 +#: pg_recvlogical.c:902 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "ne peut pas utiliser --create-slot ou --start avec --drop-slot" -#: pg_recvlogical.c:891 +#: pg_recvlogical.c:909 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "ne peut pas utiliser --create-slot ou --drop-slot avec --startpos" -#: pg_recvlogical.c:898 +#: pg_recvlogical.c:916 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos peut seulement être spécifié avec --start" -#: pg_recvlogical.c:905 +#: pg_recvlogical.c:923 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase peut seulement être spécifié avec --create-slot" -#: pg_recvlogical.c:938 +#: pg_recvlogical.c:956 #, c-format msgid "could not establish database-specific replication connection" msgstr "n'a pas pu établir une connexion de réplication spécifique à la base" -#: pg_recvlogical.c:1032 +#: pg_recvlogical.c:1056 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "position finale %X/%X atteinte par keepalive" -#: pg_recvlogical.c:1035 +#: pg_recvlogical.c:1061 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "position finale %X/%X atteinte à l'enregistrement WAL %X/%X" @@ -1690,7 +2488,7 @@ msgstr "ensemble de résultats inattendu après la fin de la timeline : a récup msgid "could not parse next timeline's starting point \"%s\"" msgstr "n'a pas pu analyser la position de départ de la prochaine timeline « %s »" -#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %s" @@ -1715,117 +2513,122 @@ msgstr "n'a pas pu écrire %d octets dans le journal de transactions « %s » : msgid "could not send copy-end packet: %s" msgstr "n'a pas pu envoyer le paquet de fin de copie : %s" -#: streamutil.c:158 +#: streamutil.c:162 msgid "Password: " msgstr "Mot de passe : " -#: streamutil.c:181 +#: streamutil.c:189 #, c-format msgid "could not connect to server" msgstr "n'a pas pu se connecter au serveur" -#: streamutil.c:222 +#: streamutil.c:230 #, c-format -msgid "could not clear search_path: %s" -msgstr "n'a pas pu effacer search_path : %s" +msgid "could not clear \"search_path\": %s" +msgstr "n'a pas pu effacer « search_path » : %s" -#: streamutil.c:238 +#: streamutil.c:246 #, c-format -msgid "could not determine server setting for integer_datetimes" -msgstr "n'a pas pu déterminer la configuration serveur de integer_datetimes" +msgid "could not determine server setting for \"integer_datetimes\"" +msgstr "n'a pas pu déterminer la configuration serveur de « integer_datetimes »" -#: streamutil.c:245 +#: streamutil.c:253 #, c-format -msgid "integer_datetimes compile flag does not match server" -msgstr "l'option de compilation integer_datetimes ne correspond pas au serveur" +msgid "\"integer_datetimes\" compile flag does not match server" +msgstr "l'option de compilation « integer_datetimes » ne correspond pas au serveur" -#: streamutil.c:296 +#: streamutil.c:372 #, c-format msgid "could not fetch WAL segment size: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "n'a pas pu récupéré la taille d'un segment WAL : a obtenu %d lignes et %d champs, attendait %d lignes et %d champs (ou plus)" -#: streamutil.c:306 +#: streamutil.c:382 #, c-format msgid "WAL segment size could not be parsed" msgstr "la taille du segment WAL n'a pas pu être analysée" -#: streamutil.c:324 +#: streamutil.c:400 +#, c-format +msgid "remote server reported invalid WAL segment size (%d byte)" +msgid_plural "remote server reported invalid WAL segment size (%d bytes)" +msgstr[0] "le serveur distant a rapporté une taille invalide du segment WAL (%d octet)" +msgstr[1] "le serveur distant a rapporté une taille invalide du segment WAL (%d octets)" + +#: streamutil.c:404 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes" -msgstr[0] "la taille d'un WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go mais le serveur distant a rapporté une valeur de %d octet" -msgstr[1] "la taille d'un WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go mais le serveur distant a rapporté une valeur de %d octets" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: streamutil.c:369 +#: streamutil.c:446 #, c-format msgid "could not fetch group access flag: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "n'a pas pu récupérer les options d'accès du groupe : a obtenu %d lignes et %d champs, attendait %d lignes et %d champs (ou plus)" -#: streamutil.c:378 +#: streamutil.c:455 #, c-format msgid "group access flag could not be parsed: %s" msgstr "l'option d'accès du groupe n'a pas pu être analysé : %s" -#: streamutil.c:421 streamutil.c:458 +#: streamutil.c:498 streamutil.c:535 #, c-format msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "n'a pas pu identifier le système : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs (ou plus)." -#: streamutil.c:510 +#: streamutil.c:587 #, c-format msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "n'a pas pu lire le slot de réplication « %s » : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs" -#: streamutil.c:522 +#: streamutil.c:599 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "le slot de réplication « %s » n'existe pas" -#: streamutil.c:533 +#: streamutil.c:610 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "attendait un slot de réplication physique, a obtenu le type « %s » à la place" -#: streamutil.c:547 +#: streamutil.c:624 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "n'a pas pu analyser le champ restart_lsn « %s » pour le slot de réplication « %s »" -#: streamutil.c:664 +#: streamutil.c:741 #, c-format msgid "could not create replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "n'a pas pu créer le slot de réplication « %s » : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs" -#: streamutil.c:708 +#: streamutil.c:785 #, c-format msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "n'a pas pu supprimer le slot de réplication « %s » : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs" -#: walmethods.c:721 walmethods.c:1264 +#: walmethods.c:726 walmethods.c:1269 msgid "could not compress data" msgstr "n'a pas pu compresser les données" -#: walmethods.c:750 +#: walmethods.c:755 msgid "could not reset compression stream" msgstr "n'a pas pu réinitialiser le flux de compression" -#: walmethods.c:888 +#: walmethods.c:892 msgid "implementation error: tar files can't have more than one open file" msgstr "erreur d'implémentation : les fichiers tar ne peuvent pas avoir plus d'un fichier ouvert" -#: walmethods.c:903 +#: walmethods.c:907 msgid "could not create tar header" msgstr "n'a pas pu créer l'en-tête du fichier tar" -#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179 +#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184 msgid "could not change compression parameters" msgstr "n'a pas pu modifier les paramètres de compression" -#: walmethods.c:1052 +#: walmethods.c:1056 msgid "unlink not supported with compression" msgstr "suppression non supportée avec la compression" -#: walmethods.c:1288 +#: walmethods.c:1293 msgid "could not close compression stream" msgstr "n'a pas pu fermer le flux de compression" @@ -2111,6 +2914,12 @@ msgstr "n'a pas pu fermer le flux de compression" #~ msgid "Try \"%s --help\" for more information.\n" #~ msgstr "Essayer « %s --help » pour plus d'informations.\n" +#, c-format +#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte" +#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes" +#~ msgstr[0] "la taille d'un WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go mais le serveur distant a rapporté une valeur de %d octet" +#~ msgstr[1] "la taille d'un WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go mais le serveur distant a rapporté une valeur de %d octets" + #, c-format #~ msgid "cannot use --compress with --compression-method=%s" #~ msgstr "ne peut pas utiliser --compress avec --compression-method=%s" @@ -2126,10 +2935,6 @@ msgstr "n'a pas pu fermer le flux de compression" #~ msgid "could not determine seek position in file \"%s\": %s" #~ msgstr "n'a pas pu déterminer la position de recherche dans le fichier d'archive « %s » : %s" -#, c-format -#~ msgid "could not find replication slot \"%s\"" -#~ msgstr "n'a pas pu trouver le slot de réplication « %s »" - #, c-format #~ msgid "could not get write-ahead log end position from server: %s" #~ msgstr "n'a pas pu obtenir la position finale des journaux de transactions à partir du serveur : %s" @@ -2149,6 +2954,22 @@ msgstr "n'a pas pu fermer le flux de compression" #~ msgid "deflateReset failed" #~ msgstr "échec de deflateReset" +#, c-format +#~ msgid "duplicate database \"%s\"" +#~ msgstr "duplication de la base de données « %s »" + +#, c-format +#~ msgid "duplicate publication \"%s\"" +#~ msgstr "duplication de la publication « %s »" + +#, c-format +#~ msgid "duplicate replication slot \"%s\"" +#~ msgstr "slot de réplication « %s » dupliqué" + +#, c-format +#~ msgid "duplicate subscription \"%s\"" +#~ msgstr "souscription « %s » dupliquée" + #, c-format #~ msgid "fatal: " #~ msgstr "fatal : " @@ -2184,6 +3005,14 @@ msgstr "n'a pas pu fermer le flux de compression" #~ msgid "select() failed: %m" #~ msgstr "échec de select() : %m" +#, c-format +#~ msgid "standby is up and running" +#~ msgstr "le secondaire est en cours d'exécution" + +#, c-format +#~ msgid "subscriber failed to change system identifier: exit code: %d" +#~ msgstr "échec du changement de l'identifieur système sur l'abonné : code de sortie %d" + #, c-format #~ msgid "symlinks are not supported on this platform" #~ msgstr "les liens symboliques ne sont pas supportés sur cette plateforme" diff --git a/src/bin/pg_basebackup/po/ka.po b/src/bin/pg_basebackup/po/ka.po index 95b64541d3677..970f3bbd016b6 100644 --- a/src/bin/pg_basebackup/po/ka.po +++ b/src/bin/pg_basebackup/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-04 05:50+0000\n" -"PO-Revision-Date: 2024-07-04 09:40+0200\n" +"POT-Creation-Date: 2024-08-27 16:49+0000\n" +"PO-Revision-Date: 2024-08-28 05:55+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -78,7 +78,7 @@ msgstr "შეკუმშვის ალგორითმს \"%s\" შეკ #: ../../common/compression.c:386 #, c-format msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" -msgstr "შეკუმშვის ალგორითმის \"%s\" შეკუმშვის დონე %d-სა და %d-ს შორის უნდა იყოს (ნაგულისხმები %d)" +msgstr "შეკუმშვის ალგორითმის \"%s\" შეკუმშვის დონე %d-სა და %d-ს შორის უნდა იყოს (ნაგულისხმევი %d)" #: ../../common/compression.c:397 #, c-format @@ -525,7 +525,7 @@ msgstr " -D, --pgdata=საქაღლდე იღებს ბაზის #: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" -msgstr " -F, --format=p|t გამოტანის ფორმატი (plain (ნაგულისხმები), tar)\n" +msgstr " -F, --format=p|t გამოტანის ფორმატი (plain (ნაგულისხმევი), tar)\n" #: pg_basebackup.c:399 #, c-format @@ -1174,9 +1174,9 @@ msgstr "wal-method-ის არასწორი მნიშვნელო #: pg_basebackup.c:2712 pg_basebackup.c:2724 pg_basebackup.c:2736 #: pg_basebackup.c:2744 pg_basebackup.c:2757 pg_basebackup.c:2763 #: pg_basebackup.c:2772 pg_basebackup.c:2784 pg_basebackup.c:2795 -#: pg_basebackup.c:2803 pg_createsubscriber.c:2015 pg_createsubscriber.c:2025 -#: pg_createsubscriber.c:2033 pg_createsubscriber.c:2061 -#: pg_createsubscriber.c:2093 pg_receivewal.c:748 pg_receivewal.c:760 +#: pg_basebackup.c:2803 pg_createsubscriber.c:2037 pg_createsubscriber.c:2047 +#: pg_createsubscriber.c:2055 pg_createsubscriber.c:2083 +#: pg_createsubscriber.c:2115 pg_receivewal.c:748 pg_receivewal.c:760 #: pg_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 #: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865 #: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889 @@ -1186,7 +1186,7 @@ msgstr "wal-method-ის არასწორი მნიშვნელო msgid "Try \"%s --help\" for more information." msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." -#: pg_basebackup.c:2584 pg_createsubscriber.c:2023 pg_receivewal.c:758 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 #: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" @@ -1291,20 +1291,20 @@ msgstr "სამიზნე სერვერს ფიზიკურ რე #: pg_createsubscriber.c:198 #, c-format -msgid "publication \"%s\" in database \"%s\" on primary might be left behind" -msgstr "გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\" ძირითადზე შეიძლება გამოტოვებულია" +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "გამოცემა \"%s\", შექმნილი მონაცემთა ბაზაში \"%s\" ძირითადზე, გამოტოვებულია" #: pg_createsubscriber.c:200 #, c-format -msgid "Consider dropping this publication before trying again." -msgstr "განიხილეთ ამ პუბლიკაციის გაუქმება ხელახლა ცდამდე." +msgid "Drop this publication before trying again." +msgstr "მოაცილეთ ეს გამოცემა, სანამ თავიდან სცდით." #: pg_createsubscriber.c:204 #, c-format -msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind" -msgstr "რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\" ძირითადზე შეიძლება გამოტოვებულია" +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "რეპლიკაციის სლოტი \"%s\" შეიქმნა მონაცემთა ბაზაში \"%s\" ძირითადზე, შეიძლება, გამოტოვებულია" -#: pg_createsubscriber.c:206 pg_createsubscriber.c:1238 +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 #, c-format msgid "Drop this replication slot soon to avoid retention of WAL files." msgstr "ამ რეპლიკაციის სლოტის მალე წაშლა WAL ფაილების მორჩენის თავიდან ასაცილებლად." @@ -1329,8 +1329,8 @@ msgstr "" #: pg_createsubscriber.c:224 #, c-format -msgid " -d, --database=DBNAME database to create a subscription\n" -msgstr " -d, --database=ბაზისსახელი გამოწერის შესაქმნელი ბაზის სახელი\n" +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --database=ბაზისსახელი მონაცემთა ბაზა, რომელშიც გნებავთ, გამოწერა შექმნათ\n" #: pg_createsubscriber.c:225 #, c-format @@ -1354,8 +1354,8 @@ msgstr " -P, --publisher-server=CONNSTR გამომცემელთა #: pg_createsubscriber.c:229 #, c-format -msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" -msgstr " -s, --socket-directory=DIR სოკეტის საქაღალდე (ნაგულისხმევია მიმდინარე.)\n" +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=DIR სოკეტის საქაღალდე (ნაგულისხმევია მიმდინარე.)\n" #: pg_createsubscriber.c:230 #, c-format @@ -1364,8 +1364,8 @@ msgstr " -t, --recovery-timeout=წამები რამდენი #: pg_createsubscriber.c:231 #, c-format -msgid " -U, --subscriber-username=NAME subscriber username\n" -msgstr " -U, --subscriber-username=სახელი გამომწერის მომხმარებლის სახელი\n" +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=სახელი მომხმარებლის სახელი გამომწერის კავშირისთვის\n" #: pg_createsubscriber.c:232 #, c-format @@ -1498,8 +1498,8 @@ msgstr "გამომწერმა სისტემური იდენ #: pg_createsubscriber.c:673 #, c-format -msgid "subscriber failed to change system identifier: exit code: %d" -msgstr "გამომწერის სისტემური იდენტიფიკატორის შეცვლა ჩავარდა: გამოსვლის კოდი: %d" +msgid "could not change system identifier of subscriber: %s" +msgstr "ვერ შევცვალე სისტემურ იდენტიფიკატორი გამომწერისთვის: %s" #: pg_createsubscriber.c:697 #, c-format @@ -1516,427 +1516,419 @@ msgstr "ვერ მივიღე მონაცემთა ბაზის msgid "create replication slot \"%s\" on publisher" msgstr "რეპლიკაციის სლოტის \"%s\" შექმნა გამომცემელზე" -#: pg_createsubscriber.c:800 +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "ვერ ჩავწერე დამატებითი WAL ჩანაწერი: %s" + +#: pg_createsubscriber.c:822 #, c-format msgid "could not obtain recovery progress: %s" msgstr "აღდგენის მიმდინარეობის მდგომარეობის მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:832 +#: pg_createsubscriber.c:854 #, c-format msgid "checking settings on publisher" msgstr "პარამეტრების შექმნა გამომცემელზე" -#: pg_createsubscriber.c:842 +#: pg_createsubscriber.c:864 #, c-format msgid "primary server cannot be in recovery" msgstr "ძირითადი სერვერი აღდგენის რეჟიმში ვერ იქნება" -#: pg_createsubscriber.c:866 +#: pg_createsubscriber.c:888 #, c-format msgid "could not obtain publisher settings: %s" msgstr "გამომცემლის პარამეტრების მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:892 +#: pg_createsubscriber.c:914 #, c-format msgid "publisher requires wal_level >= \"logical\"" msgstr "გამომცემელს wal_level >= \"logical\" ესაჭიროება" -#: pg_createsubscriber.c:898 +#: pg_createsubscriber.c:920 #, c-format msgid "publisher requires %d replication slots, but only %d remain" msgstr "გამომცემელს %d რეპლიკაციის სლოტი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:900 pg_createsubscriber.c:1006 -#, c-format -msgid "Consider increasing max_replication_slots to at least %d." -msgstr "განიხილეთ max_replication_slots-ის გაზრდა მინიმუმ %d-მდე." - -#: pg_createsubscriber.c:907 +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 #, c-format -msgid "publisher requires %d wal sender processes, but only %d remain" -msgstr "გამომცემელს %d wal გამგზავნი პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "გაზარდეთ კონფიგურაციის პარამეტრი \"%s\" %d-მდე მაინც." -#: pg_createsubscriber.c:909 +#: pg_createsubscriber.c:929 #, c-format -msgid "Consider increasing max_wal_senders to at least %d." -msgstr "განიხილეთ max_wal_senders-ის გაზრდა მინიმუმ %d-მდე." +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "გამომცემელს %d WAL-ის გამგზავნი პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:916 +#: pg_createsubscriber.c:938 #, c-format -msgid "two_phase option will not be enabled for slots" -msgstr "პარამეტრი two_phase სლოტებისთვის არ ჩაირთვება" +msgid "two_phase option will not be enabled for replication slots" +msgstr "პარამეტრი two_phase რეპლიკაციის სლოტებისთვის არ ჩაირთვება" -#: pg_createsubscriber.c:917 +#: pg_createsubscriber.c:939 #, c-format msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." msgstr "გამოწერები two_phase პარამეტრით გათიშული შეიქმნება. მომზადებული ტრანზაქციების რეპლიკაცია მოხდება COMMIT PREPARED-თან." -#: pg_createsubscriber.c:949 +#: pg_createsubscriber.c:971 #, c-format msgid "checking settings on subscriber" msgstr "პარამეტრების შემოწმება გამომწერზე" -#: pg_createsubscriber.c:956 +#: pg_createsubscriber.c:978 #, c-format msgid "target server must be a standby" msgstr "სამიზნე სერვერი უქმე უნდა იყოს" -#: pg_createsubscriber.c:980 +#: pg_createsubscriber.c:1002 #, c-format msgid "could not obtain subscriber settings: %s" msgstr "გამომწერის პარამეტრების მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:1004 +#: pg_createsubscriber.c:1026 #, c-format msgid "subscriber requires %d replication slots, but only %d remain" msgstr "გამომწერს %d რეპლიკაციის სლოტი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:1013 +#: pg_createsubscriber.c:1035 #, c-format msgid "subscriber requires %d logical replication workers, but only %d remain" msgstr "გამომწერს %d ლოგიკური რეპლიკაციის დამხმარე პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:1015 -#, c-format -msgid "Consider increasing max_logical_replication_workers to at least %d." -msgstr "განიხილეთ max_logical_replication_workers-ის გაზრდა მინიმუმ %d-მდე." - -#: pg_createsubscriber.c:1022 +#: pg_createsubscriber.c:1044 #, c-format msgid "subscriber requires %d worker processes, but only %d remain" msgstr "გამომწერს %d დამხმარე პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:1024 +#: pg_createsubscriber.c:1079 #, c-format -msgid "Consider increasing max_worker_processes to at least %d." -msgstr "განიხილეთ max_worker_processes-ის გაზრდა მინიმუმ %d-მდე." +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "მოხდება მოცილება გამოწერისა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1057 +#: pg_createsubscriber.c:1088 #, c-format -msgid "dropping subscription \"%s\" on database \"%s\"" -msgstr "მოხდება მოცილება გამოწერისა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "could not drop subscription \"%s\": %s" +msgstr "ვერ მოვაცილე გამოწერა \"%s\": %s" -#: pg_createsubscriber.c:1066 -#, c-format -msgid "could not drop a subscription \"%s\" settings: %s" -msgstr "ვერ მოვაცილე გამოწერის \"%s\" პარამეტრები: %s" - -#: pg_createsubscriber.c:1101 +#: pg_createsubscriber.c:1123 #, c-format msgid "could not obtain pre-existing subscriptions: %s" msgstr "ვერ მივიღე უკვე არსებული გამოწერები: %s" -#: pg_createsubscriber.c:1236 +#: pg_createsubscriber.c:1258 #, c-format msgid "could not drop replication slot \"%s\" on primary" msgstr "ვერ წავშალე რეპლიკაციის სლოტი \"%s\" ძირითადზე" -#: pg_createsubscriber.c:1270 +#: pg_createsubscriber.c:1292 #, c-format msgid "could not obtain failover replication slot information: %s" msgstr "გადასართველი რეპლიკაციის სლოტის ინფორმაციის მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:1272 pg_createsubscriber.c:1281 +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 #, c-format msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." msgstr "გამომწერზე გადასართველი რეპლიკაციის სლოტების მალე წაშლა WAL ფაილების მორჩენის თავიდან ასაცილებლად." -#: pg_createsubscriber.c:1280 +#: pg_createsubscriber.c:1302 #, c-format msgid "could not drop failover replication slot" msgstr "გადასართველი რეპლიკაციის სლოტი წაშლა შეუძლებელია" -#: pg_createsubscriber.c:1302 +#: pg_createsubscriber.c:1324 #, c-format -msgid "creating the replication slot \"%s\" on database \"%s\"" -msgstr "იქმნება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "იქმნება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1320 +#: pg_createsubscriber.c:1342 #, c-format -msgid "could not create replication slot \"%s\" on database \"%s\": %s" -msgstr "ვერ შევქმენი რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "ვერ შევქმენი რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1350 +#: pg_createsubscriber.c:1372 #, c-format -msgid "dropping the replication slot \"%s\" on database \"%s\"" -msgstr "იშლება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "იშლება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1366 +#: pg_createsubscriber.c:1388 #, c-format -msgid "could not drop replication slot \"%s\" on database \"%s\": %s" -msgstr "ვერ წავშალე რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "ვერ წავშალე რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1387 +#: pg_createsubscriber.c:1409 #, c-format msgid "pg_ctl failed with exit code %d" msgstr "pg_ctl ჩავარდა გამოსვლის კოდით %d" -#: pg_createsubscriber.c:1392 +#: pg_createsubscriber.c:1414 #, c-format msgid "pg_ctl was terminated by exception 0x%X" msgstr "pg_ctl შეწყდა გამონაკლისით 0x%X" -#: pg_createsubscriber.c:1394 +#: pg_createsubscriber.c:1416 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "თექვსმეტობითი მნიშვნელობის აღწერისთვის იხილეთ C-ის ჩასასმელი ფაილი \"ntstatus.h\"." -#: pg_createsubscriber.c:1396 +#: pg_createsubscriber.c:1418 #, c-format msgid "pg_ctl was terminated by signal %d: %s" msgstr "pg_ctl შეწყვეტილია სიგნალით %d: %s" -#: pg_createsubscriber.c:1402 +#: pg_createsubscriber.c:1424 #, c-format msgid "pg_ctl exited with unrecognized status %d" msgstr "pg_ctl დასრულდა უცნობი სტატუსით %d" -#: pg_createsubscriber.c:1405 +#: pg_createsubscriber.c:1427 #, c-format msgid "The failed command was: %s" msgstr "ჩავარდნილი ბრძანება იყო: %s" -#: pg_createsubscriber.c:1451 +#: pg_createsubscriber.c:1473 #, c-format msgid "server was started" msgstr "სერვერი გაეშვა" -#: pg_createsubscriber.c:1466 +#: pg_createsubscriber.c:1488 #, c-format msgid "server was stopped" msgstr "სერვერი გამოირთო" -#: pg_createsubscriber.c:1485 +#: pg_createsubscriber.c:1507 #, c-format msgid "waiting for the target server to reach the consistent state" msgstr "სამიზნე სერვერის მდგრად მდგომარეობაში გადასვლის მოლოდინი" -#: pg_createsubscriber.c:1508 +#: pg_createsubscriber.c:1530 #, c-format msgid "recovery timed out" msgstr "აღდგენის მოლოდინის ვადა ამოიწურა" -#: pg_createsubscriber.c:1521 +#: pg_createsubscriber.c:1543 #, c-format msgid "server did not end recovery" msgstr "სერვერმა აღდგენა არ დაამთავრა" -#: pg_createsubscriber.c:1523 +#: pg_createsubscriber.c:1545 #, c-format msgid "target server reached the consistent state" msgstr "სამიზნე სერვერმა მიაღწია მდგრად მდგომარეობას" -#: pg_createsubscriber.c:1524 +#: pg_createsubscriber.c:1546 #, c-format msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." msgstr "თუ ამ წერტილის შემდეგ pg_createsubscriber ჩავარდება, გაგრძელებამდე ფიზიკური რეპლიკა თავიდან უნდა შექმნათ." -#: pg_createsubscriber.c:1551 +#: pg_createsubscriber.c:1573 #, c-format msgid "could not obtain publication information: %s" msgstr "გამოცემის ინფორმაციის მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:1565 +#: pg_createsubscriber.c:1587 #, c-format msgid "publication \"%s\" already exists" msgstr "პუბლიკაცია \"%s\" უკვე არსებობს" -#: pg_createsubscriber.c:1566 +#: pg_createsubscriber.c:1588 #, c-format msgid "Consider renaming this publication before continuing." msgstr "განიხილეთ ამ პუბლიკაციის სახელის გადარქმევა ხელახლა ცდამდე." -#: pg_createsubscriber.c:1573 +#: pg_createsubscriber.c:1595 #, c-format -msgid "creating publication \"%s\" on database \"%s\"" -msgstr "იქმნება გამოცემა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "იქმნება გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1586 +#: pg_createsubscriber.c:1608 #, c-format -msgid "could not create publication \"%s\" on database \"%s\": %s" -msgstr "ვერ შევქმენი გამოცემა \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "ვერ შევქმენი გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1615 +#: pg_createsubscriber.c:1637 #, c-format -msgid "dropping publication \"%s\" on database \"%s\"" -msgstr "ვშლი გამოცემას \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "ვშლი გამოცემას \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1629 +#: pg_createsubscriber.c:1651 #, c-format -msgid "could not drop publication \"%s\" on database \"%s\": %s" -msgstr "ვერ წავშალე გამოცემა \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "ვერ წავშალე გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1675 +#: pg_createsubscriber.c:1697 #, c-format -msgid "creating subscription \"%s\" on database \"%s\"" -msgstr "იქმნება გამოწერა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "იქმნება გამოწერა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1696 +#: pg_createsubscriber.c:1718 #, c-format -msgid "could not create subscription \"%s\" on database \"%s\": %s" -msgstr "ვერ შევქმენი გამოწერა \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "ვერ შევქმენი გამოწერა \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1741 +#: pg_createsubscriber.c:1763 #, c-format msgid "could not obtain subscription OID: %s" msgstr "ვერ მივიღე გამოწერის OID: %s" -#: pg_createsubscriber.c:1748 +#: pg_createsubscriber.c:1770 #, c-format msgid "could not obtain subscription OID: got %d rows, expected %d row" msgstr "ვერ მივიღე გამოწერის OID: მივიღე %d მწკრივი, მოველოდი %d მწკრივს" -#: pg_createsubscriber.c:1772 +#: pg_createsubscriber.c:1794 #, c-format -msgid "setting the replication progress (node name \"%s\" ; LSN %s) on database \"%s\"" +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" msgstr "რეპლიკაციის მიმდინარეობის (კვანძის სახელი \"%s\", LSN %s) დაყენება მონაცემთა ბაზაზე \"%s\"" -#: pg_createsubscriber.c:1787 +#: pg_createsubscriber.c:1809 #, c-format -msgid "could not set replication progress for the subscription \"%s\": %s" +msgid "could not set replication progress for subscription \"%s\": %s" msgstr "შეუძლებელია რეპლიკაციის მიმდინარეობის დაყენება გამოწერისთვის \"%s\": %s" -#: pg_createsubscriber.c:1818 +#: pg_createsubscriber.c:1840 #, c-format -msgid "enabling subscription \"%s\" on database \"%s\"" -msgstr "ჩაირთვება გამოწერა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "ჩაირთვება გამოწერა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1830 +#: pg_createsubscriber.c:1852 #, c-format msgid "could not enable subscription \"%s\": %s" msgstr "ვერ ჩავრთე გამოწერა \"%s\": %s" -#: pg_createsubscriber.c:1922 +#: pg_createsubscriber.c:1944 #, c-format msgid "cannot be executed by \"root\"" msgstr "root-ით ვერ გაეშვება" -#: pg_createsubscriber.c:1923 +#: pg_createsubscriber.c:1945 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "%s PostgreSQL-ის ზემომხმარებლით უნდა გაუშვათ." -#: pg_createsubscriber.c:1944 +#: pg_createsubscriber.c:1966 #, c-format -msgid "duplicate database \"%s\"" -msgstr "განმეორებადი ბაზა \"%s\"" +msgid "database \"%s\" specified more than once" +msgstr "მონაცემთა ბაზა \"%s\" ერთზე მეტჯერაა მითითებული" -#: pg_createsubscriber.c:1985 +#: pg_createsubscriber.c:2007 #, c-format -msgid "duplicate publication \"%s\"" -msgstr "განმეორებადი გამოცემა \"%s\"" +msgid "publication \"%s\" specified more than once" +msgstr "პუბლიკაცია \"%s\" მითითებულია ერთზე მეტჯერ" -#: pg_createsubscriber.c:1997 +#: pg_createsubscriber.c:2019 #, c-format -msgid "duplicate replication slot \"%s\"" -msgstr "განმეორებადი რეპლიკაციის სლოტი \"%s\"" +msgid "replication slot \"%s\" specified more than once" +msgstr "რეპლიკაციის სლოტი \"%s\" მითითებულია ერთზე მეტჯერ" -#: pg_createsubscriber.c:2009 +#: pg_createsubscriber.c:2031 #, c-format -msgid "duplicate subscription \"%s\"" -msgstr "განმეორებადი გამოწერა \"%s\"" +msgid "subscription \"%s\" specified more than once" +msgstr "გამოწერა \"%s\" მითითებულია ერთზე მეტჯერ" -#: pg_createsubscriber.c:2032 +#: pg_createsubscriber.c:2054 #, c-format msgid "no subscriber data directory specified" msgstr "გამომწერის მონაცემების საქაღალდე მითითებული არაა" -#: pg_createsubscriber.c:2043 +#: pg_createsubscriber.c:2065 #, c-format msgid "could not determine current directory" msgstr "მიმდინარე საქაღალდის იდენტიფიკაციის პრობლემა" -#: pg_createsubscriber.c:2060 +#: pg_createsubscriber.c:2082 #, c-format msgid "no publisher connection string specified" msgstr "გამომცემლის მიერთების სტრიქონი მითითებული არაა" -#: pg_createsubscriber.c:2064 +#: pg_createsubscriber.c:2086 #, c-format -msgid "validating connection string on publisher" -msgstr "შეერთების სტრიქონის დადასტურება გამომცემელზე" +msgid "validating publisher connection string" +msgstr "გამომცემლის მიერთების სტრიქონის გადამოწმება" -#: pg_createsubscriber.c:2070 +#: pg_createsubscriber.c:2092 #, c-format -msgid "validating connection string on subscriber" -msgstr "შეერთების სტრიქონის დადასტურება გამომწერზე" +msgid "validating subscriber connection string" +msgstr "მიმდინარეობს გამომწერის დაკავშირების სტრიქონის გადამოწმება" -#: pg_createsubscriber.c:2075 +#: pg_createsubscriber.c:2097 #, c-format msgid "no database was specified" msgstr "ბაზა მითითებული არაა" -#: pg_createsubscriber.c:2087 +#: pg_createsubscriber.c:2109 #, c-format -msgid "database \"%s\" was extracted from the publisher connection string" -msgstr "ბაზა \"%s\" ამოღებულია გამომცემლის მიერთების სტრიქონიიდან" +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "ბაზა \"%s\" გამოღებულია გამომცემლის მიერთების სტრიქონიდან" -#: pg_createsubscriber.c:2092 +#: pg_createsubscriber.c:2114 #, c-format msgid "no database name specified" msgstr "ბაზის სახელი მითითებული არაა" -#: pg_createsubscriber.c:2102 +#: pg_createsubscriber.c:2124 #, c-format -msgid "wrong number of publication names" -msgstr "გამოცემის სახელების არასწორი რაოდენობა" +msgid "wrong number of publication names specified" +msgstr "მითითებულია გამოცემის სახელების არასწორი რაოდენობა" -#: pg_createsubscriber.c:2103 +#: pg_createsubscriber.c:2125 #, c-format -msgid "Number of publication names (%d) must match number of database names (%d)." -msgstr "გამოცემის სახელების რაოდენობა (%d) ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "გამოცემის სახელების რაოდენობა (%d) ბაზის სახელების მითითებულ რაოდენობას (%d) უნდა ემთხვეოდეს." -#: pg_createsubscriber.c:2109 +#: pg_createsubscriber.c:2131 #, c-format -msgid "wrong number of subscription names" -msgstr "გამოწერის სახელების არასწორი რაოდენობა" +msgid "wrong number of subscription names specified" +msgstr "მითითებულია გამოწერის სახელების არასწორი რაოდენობა" -#: pg_createsubscriber.c:2110 +#: pg_createsubscriber.c:2132 #, c-format -msgid "Number of subscription names (%d) must match number of database names (%d)." -msgstr "გამოწერის სახელების რაოდენობა (%d) ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "მითითებული გამოწერის სახელების რაოდენობა (%d) მითითებული ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." -#: pg_createsubscriber.c:2116 +#: pg_createsubscriber.c:2138 #, c-format -msgid "wrong number of replication slot names" -msgstr "რეპლიკაციის სლოტის სახელების არასწორი რაოდენობა" +msgid "wrong number of replication slot names specified" +msgstr "მითითებულია რეპლიკაციის სლოტის სახელების არასწორი რაოდენობა" -#: pg_createsubscriber.c:2117 +#: pg_createsubscriber.c:2139 #, c-format -msgid "Number of replication slot names (%d) must match number of database names (%d)." -msgstr "რეპლიკაციის სლოტების სახელების რაოდენობა (%d) ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "რეპლიკაციის სლოტების მითითებული სახელების რაოდენობა (%d) ბაზის სახელების მითითებულ რაოდენობას (%d) უნდა ემთხვეოდეს." -#: pg_createsubscriber.c:2146 +#: pg_createsubscriber.c:2168 #, c-format msgid "subscriber data directory is not a copy of the source database cluster" msgstr "გამომწერის მონაცემების საქაღალდე წყარო ბაზის კლასტერის ასლი არაა" -#: pg_createsubscriber.c:2159 +#: pg_createsubscriber.c:2181 #, c-format -msgid "standby is up and running" -msgstr "უქმე ჩართულია და მუშაობს" +msgid "standby server is running" +msgstr "უქმე სერვერი გაშვებულია" -#: pg_createsubscriber.c:2160 +#: pg_createsubscriber.c:2182 #, c-format -msgid "Stop the standby and try again." -msgstr "გააჩერეთ უქმე და თავიდან სცადეთ." +msgid "Stop the standby server and try again." +msgstr "გააჩერეთ უქმე სერვერი და თავიდან სცადეთ." -#: pg_createsubscriber.c:2169 +#: pg_createsubscriber.c:2191 #, c-format -msgid "starting the standby with command-line options" -msgstr "უქმეს გაშვება ბრძანების სტრიქონის პარამეტრებით" +msgid "starting the standby server with command-line options" +msgstr "მიმდინარეობს უქმე სერვერის გაშვება ბრძანების სტრიქონის პარამეტრებით" -#: pg_createsubscriber.c:2185 pg_createsubscriber.c:2225 +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 #, c-format msgid "stopping the subscriber" msgstr "გამომწერის გაჩერება" -#: pg_createsubscriber.c:2204 +#: pg_createsubscriber.c:2221 #, c-format msgid "starting the subscriber" msgstr "გამომწერის გაშვება" -#: pg_createsubscriber.c:2233 +#: pg_createsubscriber.c:2250 #, c-format msgid "Done!" msgstr "შესრულებულია!" @@ -1982,7 +1974,7 @@ msgid "" " time between status packets sent to server (default: %d)\n" msgstr "" " -s, --status-interval=SECS\n" -" შუალედი სერვერზე სტატუსის პაკეტების გაგზავნებს შორის (ნაგულისხმები: %d)\n" +" შუალედი სერვერზე სტატუსის პაკეტების გაგზავნებს შორის (ნაგულისხმევი: %d)\n" #: pg_receivewal.c:90 #, c-format @@ -2189,7 +2181,7 @@ msgid "" " time between fsyncs to the output file (default: %d)\n" msgstr "" " -F --fsync-interval=SECS\n" -" შუალედი გამოსატანი ფაილის fsync-ებს შორის (ნაგულისხმები: %d)\n" +" შუალედი გამოსატანი ფაილის fsync-ებს შორის (ნაგულისხმევი: %d)\n" #: pg_recvlogical.c:98 #, c-format @@ -2210,7 +2202,7 @@ msgstr "" #: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" -msgstr " -P, --plugin=PLUGIN გამოტანის მითითებული დამატების გამოყენება (ნაგულისხმები: %s)\n" +msgstr " -P, --plugin=PLUGIN გამოტანის მითითებული დამატების გამოყენება (ნაგულისხმევი: %s)\n" #: pg_recvlogical.c:106 #, c-format @@ -2612,6 +2604,10 @@ msgstr "შეკუმშვის ნაკადის დახურვი #~ " --config-file=FILENAME სამიზნე კლასტერის გაშვებისას მთავარი \n" #~ " სერვერის მითითებული კონფიგურაციის ფაილში გამოყენება\n" +#, c-format +#~ msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" +#~ msgstr " -s, --socket-directory=DIR სოკეტის საქაღალდე (ნაგულისხმევია მიმდინარე.)\n" + #, c-format #~ msgid " -?, --help show this help, then exit\n" #~ msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" @@ -2620,6 +2616,22 @@ msgstr "შეკუმშვის ნაკადის დახურვი #~ msgid " -V, --version output version information, then exit\n" #~ msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" +#, c-format +#~ msgid "Consider increasing max_logical_replication_workers to at least %d." +#~ msgstr "განიხილეთ max_logical_replication_workers-ის გაზრდა მინიმუმ %d-მდე." + +#, c-format +#~ msgid "Consider increasing max_replication_slots to at least %d." +#~ msgstr "განიხილეთ max_replication_slots-ის გაზრდა მინიმუმ %d-მდე." + +#, c-format +#~ msgid "Consider increasing max_wal_senders to at least %d." +#~ msgstr "განიხილეთ max_wal_senders-ის გაზრდა მინიმუმ %d-მდე." + +#, c-format +#~ msgid "Consider increasing max_worker_processes to at least %d." +#~ msgstr "განიხილეთ max_worker_processes-ის გაზრდა მინიმუმ %d-მდე." + #, c-format #~ msgid "This build does not support compression with %s." #~ msgstr "ამ აგებაში %s-ით შეკუმშვის მხარდაჭრა არ არსებობს." @@ -2646,6 +2658,22 @@ msgstr "შეკუმშვის ნაკადის დახურვი #~ msgid "could not set compression flag for %s: %s" #~ msgstr "%s-სთვის შეკუმშვის დონის დაყენების შეცდომა: %s" +#, c-format +#~ msgid "duplicate database \"%s\"" +#~ msgstr "განმეორებადი ბაზა \"%s\"" + +#, c-format +#~ msgid "duplicate publication \"%s\"" +#~ msgstr "განმეორებადი გამოცემა \"%s\"" + +#, c-format +#~ msgid "duplicate replication slot \"%s\"" +#~ msgstr "განმეორებადი რეპლიკაციის სლოტი \"%s\"" + +#, c-format +#~ msgid "duplicate subscription \"%s\"" +#~ msgstr "განმეორებადი გამოწერა \"%s\"" + #, c-format #~ msgid "log streamer with pid %d exiting" #~ msgstr "ჟურნალის ნაკადის პროცესი pid-ით %d ასრულებს მუშაობას" @@ -2658,10 +2686,18 @@ msgstr "შეკუმშვის ნაკადის დახურვი #~ msgid "primary has replication slot \"%s\"" #~ msgstr "ძირითადს აქვს რეპლიკაციის სლოტი \"%s\"" +#, c-format +#~ msgid "standby is up and running" +#~ msgstr "უქმე ჩართულია და მუშაობს" + #, c-format #~ msgid "standby server disconnected from the primary" #~ msgstr "უქმე სერვერ გაითიშა ძირითადისგან" +#, c-format +#~ msgid "subscriber failed to change system identifier: exit code: %d" +#~ msgstr "გამომწერის სისტემური იდენტიფიკატორის შეცვლა ჩავარდა: გამოსვლის კოდი: %d" + #, c-format #~ msgid "symlinks are not supported on this platform" #~ msgstr "სიმბმულები ამ პლატფორმაზე მხარდაჭერილი არაა" @@ -2681,3 +2717,7 @@ msgstr "შეკუმშვის ნაკადის დახურვი #, c-format #~ msgid "unknown compression option \"%s\"" #~ msgstr "შეკუმშვის უცნობი პარამეტრი: \"%s\"" + +#, c-format +#~ msgid "validating connection string on subscriber" +#~ msgstr "შეერთების სტრიქონის დადასტურება გამომწერზე" diff --git a/src/bin/pg_basebackup/po/sv.po b/src/bin/pg_basebackup/po/sv.po index dda6875c83c7f..e93dab66b4ca8 100644 --- a/src/bin/pg_basebackup/po/sv.po +++ b/src/bin/pg_basebackup/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-03 13:19+0000\n" -"PO-Revision-Date: 2024-08-04 09:26+0200\n" +"POT-Creation-Date: 2024-08-26 18:20+0000\n" +"PO-Revision-Date: 2024-08-26 20:56+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -1291,18 +1291,18 @@ msgstr "Målservern kan inte längre användas som en fysisk replika. Du måste #: pg_createsubscriber.c:198 #, c-format -msgid "publication \"%s\" in database \"%s\" on primary might be left behind" -msgstr "publiceringen \"%s\" i databasen \"%s\" på primären kan ha lämnats kvar" +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "publiceringen \"%s\" som skapades i databasen \"%s\" på primären har lämnats kvar" #: pg_createsubscriber.c:200 #, c-format -msgid "Consider dropping this publication before trying again." -msgstr "Överväg att slänga publiceringen innan du försöker igen." +msgid "Drop this publication before trying again." +msgstr "Släng denna publiceringen innan du försöker igen." #: pg_createsubscriber.c:204 #, c-format -msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind" -msgstr "replikeringsslotten \"%s\" i databasen \"%s\" på primären kan ha lämnats kvar" +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "replikeringsslotten \"%s\" som skapades i databasen \"%s\" på primären har lämnats kvar" #: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 #, c-format @@ -1327,8 +1327,8 @@ msgstr "" #: pg_createsubscriber.c:224 #, c-format -msgid " -d, --database=DBNAME database to create a subscription\n" -msgstr " -d, --database=DBNAME databas att indexera om\n" +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --database=DBNAME databas att skapa prenumeration i\n" #: pg_createsubscriber.c:225 #, c-format @@ -1362,8 +1362,8 @@ msgstr " -t, --recovery-timeout=SECS antal sekunder att vänta på att åte #: pg_createsubscriber.c:231 #, c-format -msgid " -U, --subscriber-username=NAME subscriber username\n" -msgstr " -U, --subscriber-username=NAME prenumerantens användarnamn\n" +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NAME användarnamn för prenumerantens anslutning\n" #: pg_createsubscriber.c:232 #, c-format @@ -1496,8 +1496,8 @@ msgstr "prenumeranten lyckades ändra systemidentifieraren" #: pg_createsubscriber.c:673 #, c-format -msgid "subscriber failed to change system identifier: exit code: %d" -msgstr "prenumeranten misslyckades att ändra systemidentifieraren: felkod: %d" +msgid "could not change system identifier of subscriber: %s" +msgstr "kunde inte ändra systemidentifierare för prenumerant: %s" #: pg_createsubscriber.c:697 #, c-format @@ -1558,13 +1558,13 @@ msgstr "Öka konfigurationsparametern \"%s\" till minst %d." #: pg_createsubscriber.c:929 #, c-format -msgid "publisher requires %d wal sender processes, but only %d remain" -msgstr "publicerare kräver %d wal-skickar-processer men bara %d återstår" +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "publicerare kräver %d WAL-skickar-processer men bara %d återstår" #: pg_createsubscriber.c:938 #, c-format -msgid "two_phase option will not be enabled for slots" -msgstr "flaggan two_phase kommer inte aktiveras för slottar" +msgid "two_phase option will not be enabled for replication slots" +msgstr "flaggan two_phase kommer inte aktiveras för replikeringsslottar" #: pg_createsubscriber.c:939 #, c-format @@ -1780,13 +1780,13 @@ msgstr "kunde inte hämta prenumerations-OID: fick %d rader, förväntade %d rad #: pg_createsubscriber.c:1794 #, c-format -msgid "setting the replication progress (node name \"%s\" ; LSN %s) in database \"%s\"" -msgstr "sätter progress för replikering (nod-namn \"%s\" ; LSN %s) i databasen \"%s\"" +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "sätter progress för replikering (nod-namn \"%s\", LSN %s) i databasen \"%s\"" #: pg_createsubscriber.c:1809 #, c-format -msgid "could not set replication progress for the subscription \"%s\": %s" -msgstr "kunde inte sätta progress för replikering på prenumerationen \"%s\": %s" +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "kunde inte sätta progress för replikering till prenumeration \"%s\": %s" #: pg_createsubscriber.c:1840 #, c-format @@ -1810,23 +1810,23 @@ msgstr "Du måste köra %s som PostgreSQL:s superuser." #: pg_createsubscriber.c:1966 #, c-format -msgid "duplicate database \"%s\"" -msgstr "duplicerad databas \"%s\"" +msgid "database \"%s\" specified more than once" +msgstr "database \"%s\" angiven mer än en gång" #: pg_createsubscriber.c:2007 #, c-format -msgid "duplicate publication \"%s\"" -msgstr "duplicerad publicering \"%s\"" +msgid "publication \"%s\" specified more than once" +msgstr "publicering \"%s\" angiven mer än en gång" #: pg_createsubscriber.c:2019 #, c-format -msgid "duplicate replication slot \"%s\"" -msgstr "duplicerad replikeringsslot \"%s\"" +msgid "replication slot \"%s\" specified more than once" +msgstr "replikeringsslott \"%s\" angiven mer än en gång" #: pg_createsubscriber.c:2031 #, c-format -msgid "duplicate subscription \"%s\"" -msgstr "duplicerad prenumeration \"%s\"" +msgid "subscription \"%s\" specified more than once" +msgstr "prenumeration \"%s\" angiven mer än en gång" #: pg_createsubscriber.c:2054 #, c-format @@ -1860,8 +1860,8 @@ msgstr "ingen databas angavs" #: pg_createsubscriber.c:2109 #, c-format -msgid "database \"%s\" was extracted from the publisher connection string" -msgstr "databasen \"%s\" extraherades från publicistens anslutningssträng" +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "databasnamn \"%s\" extraherades från publicistens anslutningssträng" #: pg_createsubscriber.c:2114 #, c-format @@ -1870,33 +1870,33 @@ msgstr "inget databasnamn angavs" #: pg_createsubscriber.c:2124 #, c-format -msgid "wrong number of publication names" -msgstr "fel antal namn på publicister" +msgid "wrong number of publication names specified" +msgstr "fel antal namn på publicister angavs" #: pg_createsubscriber.c:2125 #, c-format -msgid "Number of publication names (%d) must match number of database names (%d)." -msgstr "Antalet namn på publicister (%d) måste matcha antalet namn på databaser (%d)." +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "Antalet angivna namn på publicister (%d) måste matcha antalet angivna namn på databaser (%d)." #: pg_createsubscriber.c:2131 #, c-format -msgid "wrong number of subscription names" -msgstr "fel antal namn på prenumeranter" +msgid "wrong number of subscription names specified" +msgstr "fel antal namn på prenumeranter angivna" #: pg_createsubscriber.c:2132 #, c-format -msgid "Number of subscription names (%d) must match number of database names (%d)." -msgstr "Antalet namn på prenumeranter (%d) måste matcha antalet namn på databaser (%d)." +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "Antalet angivna namn på prenumeranter (%d) måste matcha antalet angivna namn på databaser (%d)." #: pg_createsubscriber.c:2138 #, c-format -msgid "wrong number of replication slot names" -msgstr "fel antal namn på replikeringsslottar" +msgid "wrong number of replication slot names specified" +msgstr "fel antal namn på replikeringsslottar angivet" #: pg_createsubscriber.c:2139 #, c-format -msgid "Number of replication slot names (%d) must match number of database names (%d)." -msgstr "Antalet namn på replikeringsslottar (%d) måste matcha antalet namn på databaser (%d)." +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "Antalet angivna namn på replikeringsslottar (%d) måste matcha antalet angivna namn på databaser (%d)." #: pg_createsubscriber.c:2168 #, c-format @@ -1905,18 +1905,18 @@ msgstr "prenumerantens datakatalog är inte en kopia på källdatabasens kluster #: pg_createsubscriber.c:2181 #, c-format -msgid "standby is up and running" -msgstr "standby:en är igång och kör" +msgid "standby server is running" +msgstr "standby-servern kör" #: pg_createsubscriber.c:2182 #, c-format -msgid "Stop the standby and try again." -msgstr "Stoppa standby:en och försök igen." +msgid "Stop the standby server and try again." +msgstr "Stoppa standby-servern och försök igen." #: pg_createsubscriber.c:2191 #, c-format -msgid "starting the standby with command-line options" -msgstr "startar standby:en med kommandoradsflaggor" +msgid "starting the standby server with command-line options" +msgstr "startar standby-server med kommandoradsflaggor" #: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 #, c-format @@ -2594,27 +2594,3 @@ msgstr "unlink stöds inte med komprimering" #: walmethods.c:1293 msgid "could not close compression stream" msgstr "kunde inte stänga komprimeringsström" - -#, c-format -#~ msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" -#~ msgstr " -s, --socket-directory=DIR uttagskatalog som skall användas (standard är aktuell katalog.)\n" - -#, c-format -#~ msgid "Consider increasing max_logical_replication_workers to at least %d." -#~ msgstr "Överväg att öka max_logical_replication_workers till minst %d." - -#, c-format -#~ msgid "Consider increasing max_replication_slots to at least %d." -#~ msgstr "Överväg att öka max_replication_slots till minst %d." - -#, c-format -#~ msgid "Consider increasing max_wal_senders to at least %d." -#~ msgstr "Överväg att öka max_wal_senders till minst %d." - -#, c-format -#~ msgid "Consider increasing max_worker_processes to at least %d." -#~ msgstr "Överväg att öka max_worker_processes till minst %d." - -#, c-format -#~ msgid "validating connection string on subscriber" -#~ msgstr "validerar anslutningssträng på prenumerant" diff --git a/src/bin/pg_combinebackup/po/LINGUAS b/src/bin/pg_combinebackup/po/LINGUAS index 69a2822de547f..f1cd79e2ce768 100644 --- a/src/bin/pg_combinebackup/po/LINGUAS +++ b/src/bin/pg_combinebackup/po/LINGUAS @@ -1 +1 @@ -de es ja ka sv +de es fr ja ka sv diff --git a/src/bin/pg_combinebackup/po/de.po b/src/bin/pg_combinebackup/po/de.po index cb786f126a014..f562c79b38ce7 100644 --- a/src/bin/pg_combinebackup/po/de.po +++ b/src/bin/pg_combinebackup/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-22 11:23+0000\n" -"PO-Revision-Date: 2024-07-22 16:49+0200\n" +"POT-Creation-Date: 2024-08-29 13:22+0000\n" +"PO-Revision-Date: 2024-08-29 16:46+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -324,7 +324,7 @@ msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" #: ../../common/parse_manifest.c:662 @@ -571,7 +571,7 @@ msgstr "%s: Systemidentifikator im Manifest ist %llu, aber Kontrolldatei hat %ll #: pg_combinebackup.c:340 #, c-format -msgid "can't generate a manifest because no manifest is available for the final input backup" +msgid "cannot generate a manifest because no manifest is available for the final input backup" msgstr "kann kein Manifest erzeugen, weil kein Manifest für das letzte Eingabe-Backup verfügbar ist" #: pg_combinebackup.c:387 @@ -646,8 +646,8 @@ msgstr "nur einige Sicherungen haben Prüfsummen aktiviert" #: pg_combinebackup.c:658 #, c-format -msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" -msgstr "schalten Sie für das Ausgabeverzeichnis Prüfsummen aus, und optional wieder an, um Fehler zu vermeiden" +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Schalten Sie für das Ausgabeverzeichnis Prüfsummen aus, und optional wieder an, um Fehler zu vermeiden." #: pg_combinebackup.c:693 #, c-format @@ -740,7 +740,7 @@ msgstr "" #: pg_combinebackup.c:769 #, c-format -msgid " --clone clone (reflink) instead of copying files\n" +msgid " --clone clone (reflink) files instead of copying\n" msgstr " --clone Dateien klonen (reflink) statt kopieren\n" #: pg_combinebackup.c:770 @@ -750,7 +750,7 @@ msgstr " --copy Dateien kopieren (Voreinstellung)\n" #: pg_combinebackup.c:771 #, c-format -msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgid " --copy-file-range copy using copy_file_range() system call\n" msgstr " --copy-file-range mit Systemaufruf copy_file_range() kopieren\n" #: pg_combinebackup.c:772 @@ -808,10 +808,10 @@ msgstr "überspringe symbolische Verknüpfung »%s«" msgid "skipping special file \"%s\"" msgstr "überspringe besondere Datei »%s«" -#: pg_combinebackup.c:1073 +#: pg_combinebackup.c:1073 reconstruct.c:300 #, c-format -msgid "\"%s\" contains no entry for \"%s\"" -msgstr "»%s« enthält keinen Eintrag für »%s«" +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "Manifestdatei »%s« enthält keinen Eintrag für Datei »%s«" #: pg_combinebackup.c:1189 #, c-format @@ -863,11 +863,6 @@ msgstr "Datei »%s« ist zu groß" msgid "could not read file \"%s\": read %zd of %lld" msgstr "konnte Datei »%s« nicht lesen: %zd von %lld gelesen" -#: reconstruct.c:300 -#, c-format -msgid "manifest file \"%s\" contains no entry for file \"%s\"" -msgstr "Manifestdatei »%s« enthält keinen Eintrag für Datei »%s«" - #: reconstruct.c:410 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" @@ -875,8 +870,8 @@ msgstr "Datei »%s« ist zu kurz: %llu erwartet, %llu gefunden" #: reconstruct.c:452 #, c-format -msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" -msgstr "Datei »%s« hat falsche magische Zahl für inkrementelles Backup (0x%x, nicht 0x%x)" +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "Datei »%s« hat falsche inkrementelle magische Zahl (0x%x, erwartet 0x%x)" #: reconstruct.c:458 #, c-format diff --git a/src/bin/pg_combinebackup/po/fr.po b/src/bin/pg_combinebackup/po/fr.po new file mode 100644 index 0000000000000..e6bda5593edca --- /dev/null +++ b/src/bin/pg_combinebackup/po/fr.po @@ -0,0 +1,899 @@ +# LANGUAGE message translation file for pg_combinebackup +# Copyright (C) 2024 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_combinebackup (PostgreSQL) package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-08-30 08:32+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.4\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "erreur : " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "attention : " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "détail : " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "astuce : " + +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:527 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: backup_label.c:174 copy_file.c:68 pg_combinebackup.c:538 +#: pg_combinebackup.c:1175 reconstruct.c:356 reconstruct.c:727 +#: write_manifest.c:187 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/controldata_utils.c:170 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 +#: ../../common/file_utils.c:347 ../../common/file_utils.c:406 +#: ../../common/file_utils.c:480 backup_label.c:143 copy_file.c:66 +#: copy_file.c:139 copy_file.c:171 copy_file.c:175 copy_file.c:225 +#: copy_file.c:268 load_manifest.c:128 pg_combinebackup.c:523 +#: pg_combinebackup.c:1167 reconstruct.c:510 reconstruct.c:625 +#: write_manifest.c:250 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:746 +#: write_manifest.c:260 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "mémoire épuisée" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "succès" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "tampon de destination trop petit" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "échec OpenSSL" + +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:676 +#: pg_combinebackup.c:1131 pg_combinebackup.c:1383 reconstruct.c:199 +#: reconstruct.c:408 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_combinebackup.c:933 pg_combinebackup.c:1256 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "L'analyseur (parser) en descente récursive ne peut pas utiliser l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "L'analyser (parser) incrémental nécessite l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON trop profondément imbriqué, profondeur maximum permise est 6400." + +#: ../../common/jsonapi.c:2127 +#, c-format +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La séquence d'échappement « \\%.*s » est invalide." + +#: ../../common/jsonapi.c:2131 +#, c-format +msgid "Character with value 0x%02x must be escaped." +msgstr "Le caractère de valeur 0x%02x doit être échappé." + +#: ../../common/jsonapi.c:2135 +#, c-format +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Fin de l'entrée attendue, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2138 +#, c-format +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2141 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "« , » ou « ] » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2144 +#, c-format +msgid "Expected \":\", but found \"%.*s\"." +msgstr "« : » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2147 +#, c-format +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Valeur JSON attendue, mais « %.*s » trouvé." + +#: ../../common/jsonapi.c:2150 +msgid "The input string ended unexpectedly." +msgstr "La chaîne en entrée se ferme de manière inattendue." + +#: ../../common/jsonapi.c:2152 +#, c-format +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Chaîne ou « } » attendu, mais « %.*s » trouvé." + +#: ../../common/jsonapi.c:2155 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "« , » ou « } » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2158 +#, c-format +msgid "Expected string, but found \"%.*s\"." +msgstr "Chaîne attendue, mais « %.*s » trouvé." + +#: ../../common/jsonapi.c:2161 +#, c-format +msgid "Token \"%.*s\" is invalid." +msgstr "Le jeton « %.*s » n'est pas valide." + +#: ../../common/jsonapi.c:2164 +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 ne peut pas être converti en texte." + +#: ../../common/jsonapi.c:2166 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux." + +#: ../../common/jsonapi.c:2169 +msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." +msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8." + +#: ../../common/jsonapi.c:2178 +#, c-format +msgid "Unicode escape value could not be translated to the server's encoding %s." +msgstr "La valeur d'échappement unicode ne peut pas être traduite dans l'encodage du serveur %s." + +#: ../../common/jsonapi.c:2185 +msgid "Unicode high surrogate must not follow a high surrogate." +msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute." + +#: ../../common/jsonapi.c:2187 +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute." + +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "n'a pas pu initialiser la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "le manifeste se termine de façon inattendue" + +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "début d'objet inattendu" + +#: ../../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "fin d'objet inattendue" + +#: ../../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "début de tableau inattendu" + +#: ../../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "fin de tableau inattendue" + +#: ../../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "indicateur de version inattendu" + +#: ../../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "champ haut niveau inconnu" + +#: ../../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "champ de fichier inattendu" + +#: ../../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "champ d'intervalle de WAL inattendu" + +#: ../../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "champ d'objet inattendu" + +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "scalaire inattendu" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la version du manifeste n'est pas un entier" + +#: ../../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "version du manifeste inattendue" + +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "l'identifieur système dans le manifeste n'est pas un entier" + +#: ../../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "nom de chemin manquant" + +#: ../../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "le nom du chemin et le nom du chemin encodé" + +#: ../../common/parse_manifest.c:667 +msgid "missing size" +msgstr "taille manquante" + +#: ../../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "somme de contrôle sans algorithme" + +#: ../../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "n'a pas pu décoder le nom du fichier" + +#: ../../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "la taille du fichier n'est pas un entier" + +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "algorithme de somme de contrôle inconnu : « %s »" + +#: ../../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "somme de contrôle invalide pour le fichier « %s » : « %s »" + +#: ../../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "timeline manquante" + +#: ../../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "LSN de début manquante" + +#: ../../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "LSN de fin manquante" + +#: ../../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "la timeline n'est pas un entier" + +#: ../../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "n'a pas pu analyser le LSN de début" + +#: ../../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "n'a pas pu analyser le LSN de fin" + +#: ../../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "attendait au moins deux lignes" + +#: ../../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "dernière ligne non terminée avec un caractère newline" + +#: ../../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "n'a pas pu finaliser la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "le manifeste n'a pas de somme de contrôle" + +#: ../../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "somme de contrôle du manifeste invalide : « %s »" + +#: ../../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "différence de somme de contrôle pour le manifeste" + +#: ../../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "n'a pas pu analyser le manifeste de sauvegarde : %s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: backup_label.c:66 backup_label.c:85 backup_label.c:95 +#, c-format +msgid "%s: could not parse %s" +msgstr "%s : n'a pas pu analyser %s" + +#: backup_label.c:69 backup_label.c:88 +#, c-format +msgid "%s: improper terminator for %s" +msgstr "%s : mauvais terminateur pour %s" + +#: backup_label.c:76 +#, c-format +msgid "%s: could not parse TLI for %s" +msgstr "%s : n'a pas pu analyser le TLI pour %s" + +#: backup_label.c:79 backup_label.c:98 +#, c-format +msgid "%s: invalid TLI" +msgstr "%s : TLI invalide" + +#: backup_label.c:106 backup_label.c:108 +#, c-format +msgid "%s: could not find %s" +msgstr "%s : n'a pas pu trouver %s" + +#: backup_label.c:110 backup_label.c:113 +#, c-format +msgid "%s: %s requires %s" +msgstr "%s : %s requiert %s" + +#: backup_label.c:162 reconstruct.c:748 write_manifest.c:262 +#, c-format +msgid "could not write file \"%s\": wrote %d of %d" +msgstr "n'a pas pu écrire le fichier « %s » : a écrit %d sur %d" + +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:708 +#: reconstruct.c:754 write_manifest.c:270 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "n'a pas pu mettre à jour la somme de contrôle du fichier « %s »" + +#: copy_file.c:186 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "n'a pas pu écrire dans le fichier « %s » : %m" + +#: copy_file.c:188 +#, c-format +msgid "could not write to file \"%s\", offset %u: wrote %d of %d" +msgstr "n'a pas pu écrire dans le fichier « %s », à la position %u : a écrit %d sur %d" + +#: copy_file.c:199 reconstruct.c:771 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "n'a pas pu lire à partir du fichier « %s » : %m" + +#: copy_file.c:218 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %m" +msgstr "erreur lors du clonage du fichier « %s » en «%s » : %m" + +#: copy_file.c:229 copy_file.c:272 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "n'a pas pu créer le fichier « %s » : %m" + +#: copy_file.c:237 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %s" +msgstr "erreur lors du clonage du fichier « %s » en «%s » : %s" + +#: copy_file.c:245 pg_combinebackup.c:251 +#, c-format +msgid "file cloning not supported on this platform" +msgstr "clonage de fichiers non supporté sur cette plateforme" + +#: copy_file.c:278 reconstruct.c:691 +#, c-format +msgid "error while copying file range from \"%s\" to \"%s\": %m" +msgstr "erreur lors de l'opération copy_file_range de « %s » à « %s » : %m" + +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:711 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range non supporté sur cette plateforme" + +#: copy_file.c:300 +#, c-format +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu copier le fichier « %s » en « %s » : %m" + +#: load_manifest.c:125 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "le rôle « %s » n'existe pas" + +#: load_manifest.c:163 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %lld" + +#: load_manifest.c:201 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %lld sur %lld" + +#: load_manifest.c:249 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "la version du manifeste de sauvegarde ne permet pas les sauvegardes incrémentales" + +#: load_manifest.c:281 +#, c-format +msgid "duplicate path name in backup manifest: \"%s\"" +msgstr "nom de chemin dupliqué dans le manifeste de sauvegarde : « %s »" + +#: pg_combinebackup.c:220 pg_combinebackup.c:228 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Essayez « %s --help » pour plus d'informations." + +#: pg_combinebackup.c:227 +#, c-format +msgid "no input directories specified" +msgstr "aucun répertoire en entrée indiqué" + +#: pg_combinebackup.c:233 +#, c-format +msgid "no output directory specified" +msgstr "aucun répertoire cible indiqué" + +#: pg_combinebackup.c:301 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: l'identifieur système du manifeste est %llu, mais le fichier de contrôle a %llu" + +#: pg_combinebackup.c:340 +#, c-format +msgid "cannot generate a manifest because no manifest is available for the final input backup" +msgstr "ne peut pas générer un manifeste parce qu'aucun manifeste n'est disponible pour la sauvegarde finale en entrée" + +#: pg_combinebackup.c:387 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "n'a pas pu créer le lien symbolique de « %s » vers « %s » : %m" + +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "n'a pas pu créer le répertoire « %s » : %m" + +#: pg_combinebackup.c:454 +#, c-format +msgid "directory name too long" +msgstr "nom du répertoire trop long" + +#: pg_combinebackup.c:461 +#, c-format +msgid "multiple \"=\" signs in tablespace mapping" +msgstr "multiple signes « = » dans la correspondance de tablespace" + +#: pg_combinebackup.c:469 +#, c-format +msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" +msgstr "format de correspondance de tablespace « %s » invalide, doit être « ANCIENREPERTOIRE=NOUVEAUREPERTOIRE »" + +#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#, c-format +msgid "old directory is not an absolute path in tablespace mapping: %s" +msgstr "l'ancien répertoire n'est pas un chemin absolu dans la correspondance de tablespace : %s" + +#: pg_combinebackup.c:553 +#, c-format +msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" +msgstr "la sauvegarde à « %s » est une sauvegarde complète, mais seule la première sauvegarde devrait être une sauvegarde complète" + +#: pg_combinebackup.c:556 +#, c-format +msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" +msgstr "la sauvegarde à « %s » est une sauvegarde incrémentale, mais la première sauvegarde devrait être une sauvegarde complète" + +#: pg_combinebackup.c:559 +#, c-format +msgid "backup at \"%s\" starts on timeline %u, but expected %u" +msgstr "la sauvegarde à « %s » commence à la timeline %u, mais attendait %u" + +#: pg_combinebackup.c:562 +#, c-format +msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" +msgstr "la sauvegarde à « %s » commence au LSN %X/%X, mais s'attendait à %X/%X" + +#: pg_combinebackup.c:614 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s : la valeur CRC n'est pas correcte" + +#: pg_combinebackup.c:618 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s : version inattendue pour le fichier de contrôle" + +#: pg_combinebackup.c:625 +#, c-format +msgid "%s: expected system identifier %llu, but found %llu" +msgstr "%s : identifieur système attendu %llu, mais %llu trouvé" + +#: pg_combinebackup.c:657 +#, c-format +msgid "only some backups have checksums enabled" +msgstr "seules certaines sauvegardes ont les sommes de contrôle activées" + +#: pg_combinebackup.c:658 +#, c-format +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Désactivez, puis activez si vous le souhaitez, les sommes de contrôle sur le répertoire en sortie pour éviter les échecs" + +#: pg_combinebackup.c:693 +#, c-format +msgid "removing output directory \"%s\"" +msgstr "suppression du répertoire en sortie « %s »" + +#: pg_combinebackup.c:695 +#, c-format +msgid "failed to remove output directory" +msgstr "échec lors de la suppression du répertoire en sortie" + +#: pg_combinebackup.c:699 +#, c-format +msgid "removing contents of output directory \"%s\"" +msgstr "suppression du contenu du répertoire en sortie « %s »" + +#: pg_combinebackup.c:702 +#, c-format +msgid "failed to remove contents of output directory" +msgstr "échec lors de la suppression du contenu du répertoire en sortie" + +#: pg_combinebackup.c:742 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "le répertoire « %s » existe mais n'est pas vide" + +#: pg_combinebackup.c:745 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "n'a pas pu accéder au répertoire « %s » : %m" + +#: pg_combinebackup.c:759 +#, c-format +msgid "" +"%s reconstructs full backups from incrementals.\n" +"\n" +msgstr "" +"%s reconstruit des sauvegardes complètes à partir de sauvegardes incrémentales.\n" +"\n" + +#: pg_combinebackup.c:760 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_combinebackup.c:761 +#, c-format +msgid " %s [OPTION]... DIRECTORY...\n" +msgstr " %s [OPTION]... RÉPERTOIRE...\n" + +#: pg_combinebackup.c:762 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Options :\n" + +#: pg_combinebackup.c:763 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug engendre un grand nombre de traces de débogage\n" + +#: pg_combinebackup.c:764 +#, c-format +msgid " -n, --dry-run do not actually do anything\n" +msgstr " -n, --dry-run ne fait rien\n" + +#: pg_combinebackup.c:765 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr "" +" -N, --nosync n'attend pas que les modifications soient\n" +" proprement écrites sur disque\n" + +#: pg_combinebackup.c:766 +#, c-format +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=RÉPERTOIRE répertoire en sortie\n" + +#: pg_combinebackup.c:767 +#, c-format +msgid "" +" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" relocate tablespace in OLDDIR to NEWDIR\n" +msgstr "" +" -T, --tablespace-mapping=ANCIENREP=NOUVEAUREP\n" +" déplace le tablespace de ANCIENREP vers NOUVEAUREP\n" + +#: pg_combinebackup.c:769 +#, c-format +msgid " --clone clone (reflink) files instead of copying\n" +msgstr " --clone clone (reflink) les fichiers au lieu de les copier\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy copie les fichiers (par défaut)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() system call\n" +msgstr " --copy-file-range copie les fichiers en utilisant la fonction système copy_file_range()\n" + +#: pg_combinebackup.c:772 +#, c-format +msgid "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" use algorithm for manifest checksums\n" +msgstr "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" utilise l'algorithme pour les sommes de contrôle du manifeste\n" + +#: pg_combinebackup.c:774 +#, c-format +msgid " --no-manifest suppress generation of backup manifest\n" +msgstr " --no-manifest ne génère pas de manifeste de sauvegarde\n" + +#: pg_combinebackup.c:775 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_combinebackup.c:776 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" + +#: pg_combinebackup.c:777 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" + +#: pg_combinebackup.c:779 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapporter les bogues à <%s>.\n" + +#: pg_combinebackup.c:780 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" + +#: pg_combinebackup.c:995 +#, c-format +msgid "skipping symbolic link \"%s\"" +msgstr "ignore le lien symbolique « %s »" + +#: pg_combinebackup.c:997 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "ignore le fichier spécial « %s »" + +#: pg_combinebackup.c:1073 reconstruct.c:300 +#, c-format +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "le fichier manifeste « %s » ne contient aucune entrée pour le fichier « %s »" + +#: pg_combinebackup.c:1189 +#, c-format +msgid "%s: server version too old" +msgstr "%s : version trop ancienne du serveur" + +#: pg_combinebackup.c:1190 +#, c-format +msgid "%s: could not parse version number" +msgstr "%s : n'a pas pu analyser le numéro de version" + +#: pg_combinebackup.c:1309 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "n'a pas pu lire le lien symbolique « %s » : %m" + +#: pg_combinebackup.c:1312 +#, c-format +msgid "target of symbolic link \"%s\" is too long" +msgstr "la cible « %s » du lien symbolique est trop longue" + +#: pg_combinebackup.c:1315 +#, c-format +msgid "target of symbolic link \"%s\" is relative" +msgstr "la cible « %s » du lien symbolique est relative" + +#: pg_combinebackup.c:1337 +#, c-format +msgid "tablespace at \"%s\" has no tablespace mapping" +msgstr "le tablespace sur \"%s\" n'a pas de correspondance de tablespace" + +#: pg_combinebackup.c:1355 +#, c-format +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "les tablespaces d'OID %u et %u pointent tous les deux au répertoire « %s »" + +#: pg_combinebackup.c:1364 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "n'a pas pu fermer le répertoire « %s » : %m" + +#: pg_combinebackup.c:1385 +#, c-format +msgid "file \"%s\" is too large" +msgstr "le fichier « %s » est trop gros" + +#: pg_combinebackup.c:1402 +#, c-format +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %zd sur %lld" + +#: reconstruct.c:410 +#, c-format +msgid "file \"%s\" is too short: expected %llu, found %llu" +msgstr "le fichier « %s » est trop court : attendait %llu, a trouvé %llu" + +#: reconstruct.c:452 +#, c-format +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "le fichier « %s » a un mauvaise numéro magique incrémental (0x%x et non pas 0x%x)" + +#: reconstruct.c:458 +#, c-format +msgid "file \"%s\" has block count %u in excess of segment size %u" +msgstr "le fichier « %s » a %u blocs en plus de la taille de segment %u" + +#: reconstruct.c:465 +#, c-format +msgid "file \"%s\" has truncation block length %u in excess of segment size %u" +msgstr "le fichier « %s » a une longueur de bloc %u pour la troncation en excès de la taille de segment %u" + +#: reconstruct.c:529 +#, c-format +msgid "could not read file \"%s\": read %d of %u" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %u" + +#: reconstruct.c:773 +#, c-format +msgid "could not read from file \"%s\", offset %llu: read %d of %d" +msgstr "n'a pas pu lire le fichier « %s » à la position %llu : a lu %d sur %d" + +#, c-format +#~ msgid "\"%s\" contains no entry for \"%s\"" +#~ msgstr "« %s » ne contient aucune entrée pour «%s »" diff --git a/src/bin/pg_combinebackup/po/ka.po b/src/bin/pg_combinebackup/po/ka.po index 1f61b408af09f..fd51a78d29da9 100644 --- a/src/bin/pg_combinebackup/po/ka.po +++ b/src/bin/pg_combinebackup/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-04 05:53+0000\n" -"PO-Revision-Date: 2024-07-04 09:37+0200\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-08-29 22:30+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: \n" "Language: ka\n" @@ -324,7 +324,7 @@ msgid "unexpected manifest version" msgstr "მანიფესტის მოულოდნელი ვერსია" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "მანიფესტის სისტემის იდენფიტიკატორი მთელი რიცხვი არაა" #: ../../common/parse_manifest.c:662 @@ -571,7 +571,7 @@ msgstr "%s: მანიფესტის სისტემის იდენ #: pg_combinebackup.c:340 #, c-format -msgid "can't generate a manifest because no manifest is available for the final input backup" +msgid "cannot generate a manifest because no manifest is available for the final input backup" msgstr "მანიფესტის გენერაცია შეუძლებელია, რადგან საბოლოო შეყვანის მარქაფისთვის მანიფესტი ხელმისაწვდომი არაა" #: pg_combinebackup.c:387 @@ -646,8 +646,8 @@ msgstr "საკონტროლო ჯამები, მხოლოდ, #: pg_combinebackup.c:658 #, c-format -msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" -msgstr "გამორთვა და არასავალდებულოდ თავიდან ჩართვა საკონტროლო ჯამებისა გამოტანის საქაღალდეზე, ჩავარდნების თავიდან ასაცილებლად" +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "გამორთვა და არასავალდებულოდ თავიდან ჩართვა საკონტროლო ჯამებისა გამოტანის საქაღალდეზე, ჩავარდნების თავიდან ასაცილებლად." #: pg_combinebackup.c:693 #, c-format @@ -738,7 +738,7 @@ msgstr "" #: pg_combinebackup.c:769 #, c-format -msgid " --clone clone (reflink) instead of copying files\n" +msgid " --clone clone (reflink) files instead of copying\n" msgstr " --clone ფაილების დაკლონვა (reflink) კოპირების ნაცვლად\n" #: pg_combinebackup.c:770 @@ -748,7 +748,7 @@ msgstr " --copy ფაილების კოპირე #: pg_combinebackup.c:771 #, c-format -msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgid " --copy-file-range copy using copy_file_range() system call\n" msgstr " --copy-file-range კოპირება სისტემური ფუნქციით copy_file_range()\n" #: pg_combinebackup.c:772 @@ -804,10 +804,10 @@ msgstr "%s: სიმბმულია. გამოტოვება" msgid "skipping special file \"%s\"" msgstr "სპეციალური ფაილის გამოტოვება \"%s\"" -#: pg_combinebackup.c:1073 +#: pg_combinebackup.c:1073 reconstruct.c:300 #, c-format -msgid "\"%s\" contains no entry for \"%s\"" -msgstr "\"%s\" არ შეიცავს ჩანაწერს \"%s\"-სთვის" +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "მანიფესტის ფაილი \"%s\" ფაილისთვის \"%s\" ჩანაწერებს არ შეიცავს" #: pg_combinebackup.c:1189 #, c-format @@ -859,11 +859,6 @@ msgstr "%s: ფაილი ძალიან დიდია" msgid "could not read file \"%s\": read %zd of %lld" msgstr "ფაილის \"%s\" წაკითხვა შეუძლებელია: წაკითხულია %zd %lld-დან" -#: reconstruct.c:300 -#, c-format -msgid "manifest file \"%s\" contains no entry for file \"%s\"" -msgstr "მანიფესტის ფაილი \"%s\" ფაილისთვის \"%s\" ჩანაწერებს არ შეიცავს" - #: reconstruct.c:410 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" @@ -871,7 +866,7 @@ msgstr "ფაილი \"%s\" მეტისმეტად მოკლეა #: reconstruct.c:452 #, c-format -msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" msgstr "ფაილს \"%s\" არასწორი ინკრემენტული ჯადოსნური რიცხვი (0x%x not 0x%x) გააჩნია" #: reconstruct.c:458 @@ -894,6 +889,10 @@ msgstr "ფაილის \"%s\" წაკითხვის შეცდომ msgid "could not read from file \"%s\", offset %llu: read %d of %d" msgstr "ფაილიდან \"%s\" წაკითხვის შეცდომა. წანაცვლება %llu: წაკითხულია %d %d-დან" +#, c-format +#~ msgid "\"%s\" contains no entry for \"%s\"" +#~ msgstr "\"%s\" არ შეიცავს ჩანაწერს \"%s\"-სთვის" + #, c-format #~ msgid "\"%s\" does not exist" #~ msgstr "\"%s\" არ არსებობს" diff --git a/src/bin/pg_combinebackup/po/sv.po b/src/bin/pg_combinebackup/po/sv.po index 2f6a5a0f7039d..36fabd7127be9 100644 --- a/src/bin/pg_combinebackup/po/sv.po +++ b/src/bin/pg_combinebackup/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-13 12:52+0000\n" -"PO-Revision-Date: 2024-07-13 18:12+0200\n" +"POT-Creation-Date: 2024-08-31 06:22+0000\n" +"PO-Revision-Date: 2024-09-01 20:47+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -325,8 +325,8 @@ msgid "unexpected manifest version" msgstr "oväntad manifestversion" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "manifestets systemidentifierare är inte ett haltal" +msgid "system identifier in manifest not an integer" +msgstr "manifestets systemidentifierare är inte ett heltal" #: ../../common/parse_manifest.c:662 msgid "missing path name" @@ -572,7 +572,7 @@ msgstr "%s: manifestets systemidentifierare är %llu men kontrollfilern har %llu #: pg_combinebackup.c:340 #, c-format -msgid "can't generate a manifest because no manifest is available for the final input backup" +msgid "cannot generate a manifest because no manifest is available for the final input backup" msgstr "kan inte skapa manifest då inget manifest är tillgängligt för den avslutande indatabackup:en" #: pg_combinebackup.c:387 @@ -647,8 +647,8 @@ msgstr "bara några backup:er har checksummor aktiverade" #: pg_combinebackup.c:658 #, c-format -msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" -msgstr "avaktivera och möjligen återaktivera checksummor på utdatakatalogen för att undvika fel" +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Avaktivera och möjligen återaktivera checksummor på utdatakatalogen för att undvika fel" #: pg_combinebackup.c:693 #, c-format @@ -685,7 +685,9 @@ msgstr "kunde inte komma åt katalog \"%s\": %m" msgid "" "%s reconstructs full backups from incrementals.\n" "\n" -msgstr "%s återskapar fulla backup:er från inkrementella.\n\n" +msgstr "" +"%s återskapar fulla backup:er från inkrementella.\n" +"\n" #: pg_combinebackup.c:760 #, c-format @@ -737,8 +739,8 @@ msgstr "" #: pg_combinebackup.c:769 #, c-format -msgid " --clone clone (reflink) instead of copying files\n" -msgstr " --clone klona (reflink) istället för att kopiera filer\n" +msgid " --clone clone (reflink) files instead of copying\n" +msgstr " --clone klona (reflink) filer istället för att kopiera\n" #: pg_combinebackup.c:770 #, c-format @@ -747,7 +749,7 @@ msgstr " --copy kopiera filer (standard)\n" #: pg_combinebackup.c:771 #, c-format -msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgid " --copy-file-range copy using copy_file_range() system call\n" msgstr " --copy-file-range kopiera med systemaropet copy_file_range()\n" #: pg_combinebackup.c:772 @@ -803,10 +805,10 @@ msgstr "hoppar över symbolisk länk \"%s\"" msgid "skipping special file \"%s\"" msgstr "hoppar över specialfil \"%s\"" -#: pg_combinebackup.c:1073 +#: pg_combinebackup.c:1073 reconstruct.c:300 #, c-format -msgid "\"%s\" contains no entry for \"%s\"" -msgstr "\"%s\" innehåller ingen post för \"%s\"" +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "manifestfil \"%s\" innehåller ingen post för fil \"%s\"" #: pg_combinebackup.c:1189 #, c-format @@ -858,11 +860,6 @@ msgstr "filen \"%s\" är för stor" msgid "could not read file \"%s\": read %zd of %lld" msgstr "kunde inte läsa fil \"%s\": läste %zd av %lld" -#: reconstruct.c:300 -#, c-format -msgid "manifest file \"%s\" contains no entry for file \"%s\"" -msgstr "manifestfil \"%s\" innehåller ingen post för fil \"%s\"" - #: reconstruct.c:410 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" @@ -870,8 +867,8 @@ msgstr "filen \"%s\" är för kort: förväntade %llu, hittade %llu" #: reconstruct.c:452 #, c-format -msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" -msgstr "filen \"%s\" har ett felaktigt inkrementellt magiskt nummer (0x%x är inte 0x%x)" +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "filen \"%s\" har ett felaktigt inkrementellt magiskt nummer (0x%x, förväntade 0x%x)" #: reconstruct.c:458 #, c-format diff --git a/src/bin/pg_ctl/po/fr.po b/src/bin/pg_ctl/po/fr.po index f5d95cd84a619..a9afa31e260f8 100644 --- a/src/bin/pg_ctl/po/fr.po +++ b/src/bin/pg_ctl/po/fr.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-07-29 22:45+0200\n" +"POT-Creation-Date: 2024-08-22 10:19+0000\n" +"PO-Revision-Date: 2024-08-23 11:07+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,40 +21,59 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" -#: ../../common/exec.c:172 +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "mémoire épuisée" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 -#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807 #, c-format msgid "out of memory\n" msgstr "mémoire épuisée\n" @@ -96,125 +115,125 @@ msgstr "le processus fils a quitté avec un statut %d non reconnu" #: ../../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "n'a pas pu obtenir le répertoire de travail : %s\n" +msgid "could not get current working directory: %m\n" +msgstr "n'a pas pu obtenir le répertoire de travail : %m\n" -#: pg_ctl.c:255 +#: pg_ctl.c:254 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s : le répertoire « %s » n'existe pas\n" -#: pg_ctl.c:258 +#: pg_ctl.c:257 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s : n'a pas pu accéder au répertoire « %s » : %m\n" -#: pg_ctl.c:271 +#: pg_ctl.c:270 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s : le répertoire « %s » n'est pas un répertoire d'instance\n" -#: pg_ctl.c:284 +#: pg_ctl.c:283 #, c-format -msgid "%s: could not open PID file \"%s\": %s\n" -msgstr "%s : n'a pas pu ouvrir le fichier de PID « %s » : %s\n" +msgid "%s: could not open PID file \"%s\": %m\n" +msgstr "%s : n'a pas pu ouvrir le fichier de PID « %s » : %m\n" -#: pg_ctl.c:293 +#: pg_ctl.c:292 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s : le fichier PID « %s » est vide\n" -#: pg_ctl.c:296 +#: pg_ctl.c:295 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s : données invalides dans le fichier de PID « %s »\n" -#: pg_ctl.c:458 pg_ctl.c:500 +#: pg_ctl.c:457 pg_ctl.c:499 #, c-format -msgid "%s: could not start server: %s\n" -msgstr "%s : n'a pas pu démarrer le serveur : %s\n" +msgid "%s: could not start server: %m\n" +msgstr "%s : n'a pas pu démarrer le serveur : %m\n" -#: pg_ctl.c:478 +#: pg_ctl.c:477 #, c-format -msgid "%s: could not start server due to setsid() failure: %s\n" -msgstr "%s : n'a pas pu démarrer le serveur à cause d'un échec de setsid() : %s\n" +msgid "%s: could not start server due to setsid() failure: %m\n" +msgstr "%s : n'a pas pu démarrer le serveur à cause d'un échec de setsid() : %m\n" -#: pg_ctl.c:548 +#: pg_ctl.c:547 #, c-format -msgid "%s: could not open log file \"%s\": %s\n" -msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %s\n" +msgid "%s: could not open log file \"%s\": %m\n" +msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %m\n" -#: pg_ctl.c:565 +#: pg_ctl.c:564 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s : n'a pas pu démarrer le serveur : code d'erreur %lu\n" -#: pg_ctl.c:782 +#: pg_ctl.c:781 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "" "%s : n'a pas pu initialiser la taille des fichiers core, ceci est interdit\n" "par une limite dure\n" -#: pg_ctl.c:808 +#: pg_ctl.c:807 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s : n'a pas pu lire le fichier « %s »\n" -#: pg_ctl.c:813 +#: pg_ctl.c:812 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s : le fichier d'options « %s » ne doit comporter qu'une seule ligne\n" -#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 #, c-format -msgid "%s: could not send stop signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal d'arrêt (PID : %d) : %s\n" +msgid "%s: could not send stop signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal d'arrêt (PID : %d) : %m\n" -#: pg_ctl.c:883 +#: pg_ctl.c:882 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »\n" -#: pg_ctl.c:886 +#: pg_ctl.c:885 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s\n" -#: pg_ctl.c:918 +#: pg_ctl.c:917 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s : l'initialisation du système a échoué\n" -#: pg_ctl.c:933 +#: pg_ctl.c:932 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "" "%s : un autre serveur semble en cours d'exécution ; le démarrage du serveur\n" "va toutefois être tenté\n" -#: pg_ctl.c:981 +#: pg_ctl.c:980 msgid "waiting for server to start..." msgstr "en attente du démarrage du serveur..." -#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 msgid " done\n" msgstr " effectué\n" -#: pg_ctl.c:987 +#: pg_ctl.c:986 msgid "server started\n" msgstr "serveur démarré\n" -#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 msgid " stopped waiting\n" msgstr " attente arrêtée\n" -#: pg_ctl.c:991 +#: pg_ctl.c:990 #, c-format msgid "%s: server did not start in time\n" msgstr "%s : le serveur ne s'est pas lancé à temps\n" -#: pg_ctl.c:997 +#: pg_ctl.c:996 #, c-format msgid "" "%s: could not start server\n" @@ -223,44 +242,44 @@ msgstr "" "%s : n'a pas pu démarrer le serveur\n" "Examinez le journal applicatif.\n" -#: pg_ctl.c:1005 +#: pg_ctl.c:1004 msgid "server starting\n" msgstr "serveur en cours de démarrage\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s : le fichier de PID « %s » n'existe pas\n" -#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 msgid "Is server running?\n" msgstr "Le serveur est-il en cours d'exécution ?\n" -#: pg_ctl.c:1031 +#: pg_ctl.c:1030 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas arrêter le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1046 +#: pg_ctl.c:1044 msgid "server shutting down\n" msgstr "serveur en cours d'arrêt\n" -#: pg_ctl.c:1051 pg_ctl.c:1112 +#: pg_ctl.c:1049 pg_ctl.c:1109 msgid "waiting for server to shut down..." msgstr "en attente de l'arrêt du serveur..." -#: pg_ctl.c:1055 pg_ctl.c:1117 +#: pg_ctl.c:1053 pg_ctl.c:1114 msgid " failed\n" msgstr " a échoué\n" -#: pg_ctl.c:1057 pg_ctl.c:1119 +#: pg_ctl.c:1055 pg_ctl.c:1116 #, c-format msgid "%s: server does not shut down\n" msgstr "%s : le serveur ne s'est pas arrêté\n" -#: pg_ctl.c:1059 pg_ctl.c:1121 +#: pg_ctl.c:1057 pg_ctl.c:1118 msgid "" "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" @@ -268,243 +287,243 @@ msgstr "" "ASTUCE : l'option « -m fast » déconnecte immédiatement les sessions plutôt que\n" "d'attendre la déconnexion des sessions déjà présentes.\n" -#: pg_ctl.c:1065 pg_ctl.c:1127 +#: pg_ctl.c:1063 pg_ctl.c:1124 msgid "server stopped\n" msgstr "serveur arrêté\n" -#: pg_ctl.c:1086 +#: pg_ctl.c:1084 msgid "trying to start server anyway\n" msgstr "tentative de lancement du serveur malgré tout\n" -#: pg_ctl.c:1095 +#: pg_ctl.c:1093 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas relancer le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1098 pg_ctl.c:1157 +#: pg_ctl.c:1096 pg_ctl.c:1154 msgid "Please terminate the single-user server and try again.\n" msgstr "Merci d'arrêter le serveur mono-utilisateur et de réessayer.\n" -#: pg_ctl.c:1131 +#: pg_ctl.c:1128 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s : l'ancien processus serveur (PID : %d) semble être parti\n" -#: pg_ctl.c:1133 +#: pg_ctl.c:1130 msgid "starting server anyway\n" msgstr "lancement du serveur malgré tout\n" -#: pg_ctl.c:1154 +#: pg_ctl.c:1151 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas recharger le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1163 +#: pg_ctl.c:1160 #, c-format -msgid "%s: could not send reload signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal de rechargement (PID : %d) : %s\n" +msgid "%s: could not send reload signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal de rechargement (PID : %d) : %m\n" -#: pg_ctl.c:1168 +#: pg_ctl.c:1165 msgid "server signaled\n" msgstr "envoi d'un signal au serveur\n" -#: pg_ctl.c:1193 +#: pg_ctl.c:1190 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas promouvoir le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1201 +#: pg_ctl.c:1198 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "%s : ne peut pas promouvoir le serveur ; le serveur n'est pas en standby\n" -#: pg_ctl.c:1211 +#: pg_ctl.c:1208 #, c-format -msgid "%s: could not create promote signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu créer le fichier « %s » signalant la promotion : %s\n" +msgid "%s: could not create promote signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu créer le fichier « %s » signalant la promotion : %m\n" -#: pg_ctl.c:1217 +#: pg_ctl.c:1214 #, c-format -msgid "%s: could not write promote signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu écrire le fichier « %s » signalant la promotion : %s\n" +msgid "%s: could not write promote signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu écrire le fichier « %s » signalant la promotion : %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1222 #, c-format -msgid "%s: could not send promote signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal de promotion (PID : %d) : %s\n" +msgid "%s: could not send promote signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal de promotion (PID : %d) : %m\n" -#: pg_ctl.c:1228 +#: pg_ctl.c:1225 #, c-format -msgid "%s: could not remove promote signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la promotion : %s\n" +msgid "%s: could not remove promote signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la promotion : %m\n" -#: pg_ctl.c:1235 +#: pg_ctl.c:1232 msgid "waiting for server to promote..." msgstr "en attente du serveur à promouvoir..." -#: pg_ctl.c:1239 +#: pg_ctl.c:1236 msgid "server promoted\n" msgstr "serveur promu\n" -#: pg_ctl.c:1244 +#: pg_ctl.c:1241 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s : le serveur ne s'est pas promu à temps\n" -#: pg_ctl.c:1250 +#: pg_ctl.c:1247 msgid "server promoting\n" msgstr "serveur en cours de promotion\n" -#: pg_ctl.c:1274 +#: pg_ctl.c:1271 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas faire une rotation de fichier de traces ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1284 +#: pg_ctl.c:1281 #, c-format -msgid "%s: could not create log rotation signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu créer le fichier « %s » de demande de rotation des fichiers de trace : %s\n" +msgid "%s: could not create log rotation signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu créer le fichier « %s » de demande de rotation des fichiers de trace : %m\n" -#: pg_ctl.c:1290 +#: pg_ctl.c:1287 #, c-format -msgid "%s: could not write log rotation signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu écrire le fichier « %s » de demande de rotation des fichiers de trace : %s\n" +msgid "%s: could not write log rotation signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu écrire le fichier « %s » de demande de rotation des fichiers de trace : %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1295 #, c-format -msgid "%s: could not send log rotation signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal de rotation des fichiers de trace (PID : %d) : %s\n" +msgid "%s: could not send log rotation signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal de rotation des fichiers de trace (PID : %d) : %m\n" -#: pg_ctl.c:1301 +#: pg_ctl.c:1298 #, c-format -msgid "%s: could not remove log rotation signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la demande de rotation des fichiers de trace : %s\n" +msgid "%s: could not remove log rotation signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la demande de rotation des fichiers de trace : %m\n" -#: pg_ctl.c:1306 +#: pg_ctl.c:1303 msgid "server signaled to rotate log file\n" msgstr "envoi d'un signal au serveur pour faire une rotation des traces\n" -#: pg_ctl.c:1353 +#: pg_ctl.c:1350 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s : le serveur mono-utilisateur est en cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1367 +#: pg_ctl.c:1364 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s : le serveur est en cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1383 +#: pg_ctl.c:1380 #, c-format msgid "%s: no server running\n" msgstr "%s : aucun serveur en cours d'exécution\n" -#: pg_ctl.c:1400 +#: pg_ctl.c:1397 #, c-format -msgid "%s: could not send signal %d (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal %d (PID : %d) : %s\n" +msgid "%s: could not send signal %d (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal %d (PID : %d) : %m\n" -#: pg_ctl.c:1431 +#: pg_ctl.c:1428 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s : n'a pas pu trouver l'exécutable du programme\n" -#: pg_ctl.c:1441 +#: pg_ctl.c:1438 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s : n'a pas pu trouver l'exécutable postgres\n" -#: pg_ctl.c:1511 pg_ctl.c:1545 +#: pg_ctl.c:1508 pg_ctl.c:1542 #, c-format msgid "%s: could not open service manager\n" msgstr "%s : n'a pas pu ouvrir le gestionnaire de services\n" -#: pg_ctl.c:1517 +#: pg_ctl.c:1514 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s : le service « %s » est déjà enregistré\n" -#: pg_ctl.c:1528 +#: pg_ctl.c:1525 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu enregistrer le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1551 +#: pg_ctl.c:1548 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s : le service « %s » n'est pas enregistré\n" -#: pg_ctl.c:1558 +#: pg_ctl.c:1555 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu ouvrir le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1567 +#: pg_ctl.c:1564 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu supprimer le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1651 msgid "Waiting for server startup...\n" msgstr "En attente du démarrage du serveur...\n" -#: pg_ctl.c:1657 +#: pg_ctl.c:1654 msgid "Timed out waiting for server startup\n" msgstr "Dépassement du délai pour le démarrage du serveur\n" -#: pg_ctl.c:1661 +#: pg_ctl.c:1658 msgid "Server started and accepting connections\n" msgstr "Serveur lancé et acceptant les connexions\n" -#: pg_ctl.c:1716 +#: pg_ctl.c:1713 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu démarrer le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1789 +#: pg_ctl.c:1786 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s : n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n" -#: pg_ctl.c:1803 +#: pg_ctl.c:1800 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n" -#: pg_ctl.c:1829 +#: pg_ctl.c:1826 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s : n'a pas pu créer le jeton restreint : code d'erreur %lu\n" -#: pg_ctl.c:1911 +#: pg_ctl.c:1908 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s : n'a pas pu obtenir les LUID pour les droits : code d'erreur %lu\n" -#: pg_ctl.c:1919 pg_ctl.c:1934 +#: pg_ctl.c:1916 pg_ctl.c:1931 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s : n'a pas pu obtenir l'information sur le jeton : code d'erreur %lu\n" -#: pg_ctl.c:1928 +#: pg_ctl.c:1925 #, c-format msgid "%s: out of memory\n" msgstr "%s : mémoire épuisée\n" -#: pg_ctl.c:1958 +#: pg_ctl.c:1955 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Essayer « %s --help » pour plus d'informations.\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1963 #, c-format msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" @@ -514,17 +533,17 @@ msgstr "" "PostgreSQL.\n" "\n" -#: pg_ctl.c:1967 +#: pg_ctl.c:1964 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1965 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D RÉP_DONNÉES] [-s] [-o OPTIONS]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1966 #, c-format msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" @@ -533,12 +552,12 @@ msgstr "" " %s start [-D RÉP_DONNÉES] [-l FICHIER] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-p CHEMIN] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1968 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr " %s stop [-D RÉP_DONNÉES] [-m MODE_ARRÊT] [-W] [-t SECS] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1969 #, c-format msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" @@ -547,32 +566,32 @@ msgstr "" " %s restart [-D RÉP_DONNÉES] [-m MODE_ARRÊT] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-c]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1971 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D RÉP_DONNÉES] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1972 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D RÉP_DONNÉES]\n" -#: pg_ctl.c:1976 +#: pg_ctl.c:1973 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D RÉP_DONNÉES] [-W] [-t SECS] [-s]\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1974 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D RÉP_DONNÉES] [-s]\n" -#: pg_ctl.c:1978 +#: pg_ctl.c:1975 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill NOM_SIGNAL PID\n" -#: pg_ctl.c:1980 +#: pg_ctl.c:1977 #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" @@ -581,12 +600,12 @@ msgstr "" " %s register [-D RÉP_DONNÉES] [-N NOM_SERVICE] [-U NOM_UTILISATEUR] [-P MOT_DE_PASSE]\n" " [-S TYPE_DÉMARRAGE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1979 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N NOM_SERVICE]\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1982 #, c-format msgid "" "\n" @@ -595,58 +614,58 @@ msgstr "" "\n" "Options générales :\n" -#: pg_ctl.c:1986 +#: pg_ctl.c:1983 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata=RÉP_DONNÉES emplacement du répertoire des données de l'instance\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:1985 #, c-format msgid " -e SOURCE event source for logging when running as a service\n" msgstr "" " -e SOURCE source de l'événement pour la trace lors de\n" " l'exécution en tant que service\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:1987 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr "" " -s, --silent affiche uniquement les erreurs, aucun message\n" " d'informations\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:1988 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr "" " -t, --timeout=SECS durée en secondes à attendre lors de l'utilisation\n" " de l'option -w\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:1989 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:1990 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait attend la fin de l'opération (par défaut)\n" -#: pg_ctl.c:1994 +#: pg_ctl.c:1991 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait n'attend pas la fin de l'opération\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:1992 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_ctl.c:1996 +#: pg_ctl.c:1993 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "Si l'option -D est omise, la variable d'environnement PGDATA est utilisée.\n" -#: pg_ctl.c:1998 +#: pg_ctl.c:1995 #, c-format msgid "" "\n" @@ -655,22 +674,22 @@ msgstr "" "\n" "Options pour le démarrage ou le redémarrage :\n" -#: pg_ctl.c:2000 +#: pg_ctl.c:1997 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr " -c, --core-files autorise postgres à produire des fichiers core\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:1999 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files non applicable à cette plateforme\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2001 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr " -l, --log=FICHIER écrit (ou ajoute) le journal du serveur dans FICHIER\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2002 #, c-format msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" @@ -680,12 +699,12 @@ msgstr "" " postgres (exécutable du serveur PostgreSQL)\n" " ou à initdb\n" -#: pg_ctl.c:2007 +#: pg_ctl.c:2004 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr " -p CHEMIN_POSTGRES normalement pas nécessaire\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2005 #, c-format msgid "" "\n" @@ -694,14 +713,14 @@ msgstr "" "\n" "Options pour l'arrêt ou le redémarrage :\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2006 #, c-format msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr "" " -m, --mode=MODE MODE peut valoir « smart », « fast » ou\n" " « immediate »\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2008 #, c-format msgid "" "\n" @@ -710,24 +729,24 @@ msgstr "" "\n" "Les modes d'arrêt sont :\n" -#: pg_ctl.c:2012 +#: pg_ctl.c:2009 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart quitte après déconnexion de tous les clients\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2010 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast quitte directement, et arrête correctement (par défaut)\n" -#: pg_ctl.c:2014 +#: pg_ctl.c:2011 #, c-format msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" msgstr "" " immediate quitte sans arrêt complet ; entraîne une restauration au démarrage\n" " suivant\n" -#: pg_ctl.c:2016 +#: pg_ctl.c:2013 #, c-format msgid "" "\n" @@ -736,7 +755,7 @@ msgstr "" "\n" "Signaux autorisés pour kill :\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2017 #, c-format msgid "" "\n" @@ -745,35 +764,35 @@ msgstr "" "\n" "Options d'enregistrement ou de dés-enregistrement :\n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2018 #, c-format msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr "" " -N NOM_SERVICE nom du service utilisé pour l'enregistrement du\n" " serveur PostgreSQL\n" -#: pg_ctl.c:2022 +#: pg_ctl.c:2019 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr "" " -P MOT_DE_PASSE mot de passe du compte utilisé pour\n" " l'enregistrement du serveur PostgreSQL\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2020 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr "" " -U NOM_UTILISATEUR nom de l'utilisateur du compte utilisé pour\n" " l'enregistrement du serveur PostgreSQL\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2021 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr "" " -S TYPE_DÉMARRAGE type de démarrage du service pour enregistrer le\n" " serveur PostgreSQL\n" -#: pg_ctl.c:2026 +#: pg_ctl.c:2023 #, c-format msgid "" "\n" @@ -782,19 +801,19 @@ msgstr "" "\n" "Les types de démarrage sont :\n" -#: pg_ctl.c:2027 +#: pg_ctl.c:2024 #, c-format msgid " auto start service automatically during system startup (default)\n" msgstr "" " auto démarre le service automatiquement lors du démarrage du système\n" " (par défaut)\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2025 #, c-format msgid " demand start service on demand\n" msgstr " demand démarre le service à la demande\n" -#: pg_ctl.c:2031 +#: pg_ctl.c:2028 #, c-format msgid "" "\n" @@ -803,37 +822,37 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_ctl.c:2032 +#: pg_ctl.c:2029 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_ctl.c:2057 +#: pg_ctl.c:2054 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s : mode d'arrêt non reconnu « %s »\n" -#: pg_ctl.c:2086 +#: pg_ctl.c:2083 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s : signal non reconnu « %s »\n" -#: pg_ctl.c:2103 +#: pg_ctl.c:2100 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s : type de redémarrage « %s » non reconnu\n" -#: pg_ctl.c:2159 +#: pg_ctl.c:2156 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s : n'a pas déterminer le répertoire des données en utilisant la commande « %s »\n" -#: pg_ctl.c:2182 +#: pg_ctl.c:2179 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s : le fichier de contrôle semble corrompu\n" -#: pg_ctl.c:2250 +#: pg_ctl.c:2247 #, c-format msgid "" "%s: cannot be run as root\n" @@ -844,32 +863,32 @@ msgstr "" "Connectez-vous (par exemple en utilisant « su ») sous l'utilisateur (non\n" " privilégié) qui sera propriétaire du processus serveur.\n" -#: pg_ctl.c:2333 +#: pg_ctl.c:2319 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s : option -S non supportée sur cette plateforme\n" -#: pg_ctl.c:2370 -#, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#: pg_ctl.c:2396 +#: pg_ctl.c:2375 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s : arguments manquant pour le mode kill\n" -#: pg_ctl.c:2414 +#: pg_ctl.c:2393 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s : mode d'opération « %s » non reconnu\n" -#: pg_ctl.c:2424 +#: pg_ctl.c:2402 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" + +#: pg_ctl.c:2409 #, c-format msgid "%s: no operation specified\n" msgstr "%s : aucune opération indiquée\n" -#: pg_ctl.c:2445 +#: pg_ctl.c:2430 #, c-format msgid "%s: no database directory specified and environment variable PGDATA unset\n" msgstr "" diff --git a/src/bin/pg_dump/po/de.po b/src/bin/pg_dump/po/de.po index fa22292c6a733..dbe490c9f8166 100644 --- a/src/bin/pg_dump/po/de.po +++ b/src/bin/pg_dump/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 16:52+0000\n" -"PO-Revision-Date: 2024-06-22 07:36+0200\n" +"POT-Creation-Date: 2024-08-28 04:22+0000\n" +"PO-Revision-Date: 2024-08-28 07:52+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -822,7 +822,7 @@ msgstr "Wiederherstellung von Large Object mit OID %u" msgid "could not create large object %u: %s" msgstr "konnte Large Object %u nicht erstellen: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3863 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "konnte Large Object %u nicht öffnen: %s" @@ -973,12 +973,12 @@ msgstr "konnte Standardausgabe nicht zum Anhängen öffnen: %m" msgid "unrecognized file format \"%d\"" msgstr "nicht erkanntes Dateiformat »%d«" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4625 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "Element %d %s %s abgeschlossen" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4638 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "Arbeitsprozess fehlgeschlagen: Code %d" @@ -1063,72 +1063,72 @@ msgstr "konnte Tabellenzugriffsmethode nicht ändern: %s" msgid "don't know how to set owner for object type \"%s\"" msgstr "kann Eigentümer für Objekttyp »%s« nicht setzen" -#: pg_backup_archiver.c:3982 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "magische Zeichenkette im Dateikopf nicht gefunden" -#: pg_backup_archiver.c:3996 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "nicht unterstützte Version (%d.%d) im Dateikopf" -#: pg_backup_archiver.c:4001 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "Prüfung der Integer-Größe (%lu) fehlgeschlagen" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "Archiv wurde auf einer Maschine mit größeren Integers erstellt; einige Operationen könnten fehlschlagen" -#: pg_backup_archiver.c:4015 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "erwartetes Format (%d) ist nicht das gleiche wie das in der Datei gefundene (%d)" -#: pg_backup_archiver.c:4037 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "Archiv ist komprimiert, aber diese Installation unterstützt keine Komprimierung (%s) -- keine Daten verfügbar" -#: pg_backup_archiver.c:4073 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "ungültiges Erstellungsdatum im Kopf" -#: pg_backup_archiver.c:4207 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "verarbeite Element %d %s %s" -#: pg_backup_archiver.c:4292 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "Eintritt in Hauptparallelschleife" -#: pg_backup_archiver.c:4303 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "Element %d %s %s wird übersprungen" -#: pg_backup_archiver.c:4312 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "starte Element %d %s %s" -#: pg_backup_archiver.c:4366 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "Hauptparallelschleife beendet" -#: pg_backup_archiver.c:4402 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "verarbeite verpasstes Element %d %s %s" -#: pg_backup_archiver.c:4944 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "Tabelle »%s« konnte nicht erzeugt werden, ihre Daten werden nicht wiederhergestellt werden" @@ -1244,7 +1244,7 @@ msgstr "konnte nicht mit der Datenbank verbinden" msgid "reconnection failed: %s" msgstr "Wiederverbindung fehlgeschlagen: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:788 pg_dump_sort.c:1213 #: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788 #, c-format msgid "%s" @@ -1291,7 +1291,7 @@ msgstr "Fehler in PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY fehlgeschlagen für Tabelle »%s«: %s" -#: pg_backup_db.c:521 pg_dump.c:2271 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "unerwartete zusätzliche Ergebnisse während COPY von Tabelle »%s«" @@ -1463,7 +1463,7 @@ msgstr "beschädigter Tar-Kopf in %s gefunden (%d erwartet, %d berechnet), Datei msgid "unrecognized section name: \"%s\"" msgstr "unbekannter Abschnittsname: »%s«" -#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370 +#: pg_backup_utils.c:55 pg_dump.c:694 pg_dump.c:711 pg_dumpall.c:370 #: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403 #: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323 #: pg_restore.c:337 @@ -1476,82 +1476,82 @@ msgstr "Versuchen Sie »%s --help« für weitere Informationen." msgid "out of on_exit_nicely slots" msgstr "on_exit_nicely-Slots aufgebraucht" -#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)" -#: pg_dump.c:727 pg_restore.c:344 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "Optionen -s/--schema-only und -a/--data-only können nicht zusammen verwendet werden" -#: pg_dump.c:730 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "Optionen -s/--schema-only und --include-foreign-data können nicht zusammen verwendet werden" -#: pg_dump.c:733 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "Option --include-foreign-data wird nicht mit paralleler Sicherung unterstützt" -#: pg_dump.c:736 pg_restore.c:347 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "Optionen -c/--clean und -a/--data-only können nicht zusammen verwendet werden" -#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "Option --if-exists benötigt Option -c/--clean" -#: pg_dump.c:746 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "Option --on-conflict-do-nothing benötigt Option --inserts, --rows-per-insert oder --column-inserts" -#: pg_dump.c:775 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "unbekannter Komprimierungsalgorithmus: »%s«" -#: pg_dump.c:782 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "ungültige Komprimierungsangabe: %s" -#: pg_dump.c:795 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "Komprimierungsoption »%s« wird aktuell von pg_dump nicht unterstützt" -#: pg_dump.c:807 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "parallele Sicherung wird nur vom Ausgabeformat »Verzeichnis« unterstützt" -#: pg_dump.c:853 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "letzte eingebaute OID ist %u" -#: pg_dump.c:862 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "keine passenden Schemas gefunden" -#: pg_dump.c:879 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "keine passenden Tabellen gefunden" -#: pg_dump.c:907 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "keine passenden Erweiterungen gefunden" -#: pg_dump.c:1091 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1560,17 +1560,17 @@ msgstr "" "%s gibt eine Datenbank als Textdatei oder in anderen Formaten aus.\n" "\n" -#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" -#: pg_dump.c:1093 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1579,12 +1579,12 @@ msgstr "" "\n" "Allgemeine Optionen:\n" -#: pg_dump.c:1096 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=DATEINAME Name der Ausgabedatei oder des -verzeichnisses\n" -#: pg_dump.c:1097 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1593,22 +1593,22 @@ msgstr "" " -F, --format=c|d|t|p Ausgabeformat (custom, d=Verzeichnis, tar,\n" " plain text)\n" -#: pg_dump.c:1099 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM so viele parallele Jobs zur Sicherung verwenden\n" -#: pg_dump.c:1100 pg_dumpall.c:640 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose »Verbose«-Modus\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: pg_dump.c:1102 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1617,31 +1617,31 @@ msgstr "" " -Z, --compress=METHODE[:DETAIL]\n" " wie angegeben komprimieren\n" -#: pg_dump.c:1104 pg_dumpall.c:642 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=ZEIT Abbruch nach ZEIT Warten auf Tabellensperre\n" -#: pg_dump.c:1105 pg_dumpall.c:670 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " --no-sync nicht warten, bis Änderungen sicher auf\n" " Festplatte geschrieben sind\n" -#: pg_dump.c:1106 +#: pg_dump.c:1107 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr "" " --sync-method=METHODE Methode zum Synchronisieren von Dateien auf\n" " Festplatte setzen\n" -#: pg_dump.c:1107 pg_dumpall.c:643 +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: pg_dump.c:1109 pg_dumpall.c:644 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1650,64 +1650,64 @@ msgstr "" "\n" "Optionen die den Inhalt der Ausgabe kontrollieren:\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only nur Daten ausgeben, nicht das Schema\n" -#: pg_dump.c:1111 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects Large Objects mit ausgeben\n" -#: pg_dump.c:1112 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (gleich --large-objects, veraltet)\n" -#: pg_dump.c:1113 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects Large Objects nicht mit ausgeben\n" -#: pg_dump.c:1114 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (gleich --no-large-objects, veraltet)\n" -#: pg_dump.c:1115 pg_restore.c:466 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean Datenbankobjekte vor der Wiedererstellung löschen\n" -#: pg_dump.c:1116 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create Anweisungen zum Erstellen der Datenbank in\n" " Ausgabe einfügen\n" -#: pg_dump.c:1117 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=MUSTER nur die angegebene(n) Erweiterung(en) ausgeben\n" -#: pg_dump.c:1118 pg_dumpall.c:647 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=KODIERUNG Daten in Kodierung KODIERUNG ausgeben\n" -#: pg_dump.c:1119 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=MUSTER nur das/die angegebene(n) Schema(s) ausgeben\n" -#: pg_dump.c:1120 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=MUSTER das/die angegebene(n) Schema(s) NICHT ausgeben\n" -#: pg_dump.c:1121 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1716,58 +1716,58 @@ msgstr "" " -O, --no-owner Wiederherstellung der Objekteigentümerschaft im\n" " »plain text«-Format auslassen\n" -#: pg_dump.c:1123 pg_dumpall.c:651 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only nur das Schema, nicht die Daten, ausgeben\n" -#: pg_dump.c:1124 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME Superusername für »plain text«-Format\n" -#: pg_dump.c:1125 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=MUSTER nur die angegebene(n) Tabelle(n) ausgeben\n" -#: pg_dump.c:1126 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=MUSTER die angegebene(n) Tabelle(n) NICHT ausgeben\n" -#: pg_dump.c:1127 pg_dumpall.c:654 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges Zugriffsprivilegien (grant/revoke) nicht ausgeben\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade wird nur von Upgrade-Programmen verwendet\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr "" " --column-inserts Daten als INSERT-Anweisungen mit Spaltennamen\n" " ausgeben\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" " --disable-dollar-quoting Dollar-Quoting abschalten, normales SQL-Quoting\n" " verwenden\n" -#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr "" " --disable-triggers Trigger während der Datenwiederherstellung\n" " abschalten\n" -#: pg_dump.c:1132 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1776,12 +1776,12 @@ msgstr "" " --enable-row-security Sicherheit auf Zeilenebene einschalten (nur Daten\n" " ausgeben, auf die der Benutzer Zugriff hat)\n" -#: pg_dump.c:1134 +#: pg_dump.c:1135 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=MUSTER die angegebene(n) Erweiterung(en) NICHT ausgeben\n" -#: pg_dump.c:1135 +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1792,12 +1792,12 @@ msgstr "" " die angegebene(n) Tabelle(n) NICHT ausgeben,\n" " einschließlich abgeleiteter und Partitionstabellen\n" -#: pg_dump.c:1138 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=MUSTER Daten der angegebenen Tabelle(n) NICHT ausgeben\n" -#: pg_dump.c:1139 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1808,12 +1808,12 @@ msgstr "" " Daten der angegebenen Tabelle(n) NICHT ausgeben,\n" " einschließlich abgeleiteter und Partitionstabellen\n" -#: pg_dump.c:1142 pg_dumpall.c:660 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=ZAHL Einstellung für extra_float_digits\n" -#: pg_dump.c:1143 +#: pg_dump.c:1144 #, c-format msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" @@ -1822,12 +1822,12 @@ msgstr "" " --filter=DATEINAME Objekte und Daten basierend auf Ausdrücken in DATEINAME\n" " mit sichern oder überspringen\n" -#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists IF EXISTS verwenden, wenn Objekte gelöscht werden\n" -#: pg_dump.c:1146 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1838,91 +1838,91 @@ msgstr "" " Daten von Fremdtabellen auf Fremdservern, die\n" " mit MUSTER übereinstimmen, mit sichern\n" -#: pg_dump.c:1149 pg_dumpall.c:663 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts Daten als INSERT-Anweisungen statt COPY ausgeben\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root Partitionen über die Wurzeltabelle laden\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments Kommentare nicht ausgeben\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications Publikationen nicht ausgeben\n" -#: pg_dump.c:1153 pg_dumpall.c:668 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels Security-Label-Zuweisungen nicht ausgeben\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions Subskriptionen nicht ausgeben\n" -#: pg_dump.c:1155 pg_dumpall.c:671 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method Tabellenzugriffsmethoden nicht ausgeben\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces Tablespace-Zuordnungen nicht ausgeben\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression TOAST-Komprimierungsmethoden nicht ausgeben\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data Daten in ungeloggten Tabellen nicht ausgeben\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing INSERT-Befehle mit ON CONFLICT DO NOTHING ausgeben\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers alle Bezeichner in Anführungszeichen, selbst wenn\n" " kein Schlüsselwort\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=ANZAHL Anzahl Zeilen pro INSERT; impliziert --inserts\n" -#: pg_dump.c:1162 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=ABSCHNITT angegebenen Abschnitt ausgeben (pre-data, data\n" " oder post-data)\n" -#: pg_dump.c:1163 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable warten bis der Dump ohne Anomalien laufen kann\n" -#: pg_dump.c:1164 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT angegebenen Snapshot für den Dump verwenden\n" -#: pg_dump.c:1165 pg_restore.c:497 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1931,7 +1931,7 @@ msgstr "" " --strict-names Tabellen- oder Schemamuster müssen auf mindestens\n" " je ein Objekt passen\n" -#: pg_dump.c:1167 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1940,7 +1940,7 @@ msgstr "" " --table-and-children=MUSTER nur die angegebene(n) Tabelle(n) ausgeben,\n" " einschließlich abgeleiteter und Partitionstabellen\n" -#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1952,7 +1952,7 @@ msgstr "" " OWNER Befehle verwenden, um Eigentümerschaft zu\n" " setzen\n" -#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1961,42 +1961,42 @@ msgstr "" "\n" "Verbindungsoptionen:\n" -#: pg_dump.c:1174 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME auszugebende Datenbank\n" -#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME Name des Datenbankservers oder Socket-Verzeichnis\n" -#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT Portnummer des Datenbankservers\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME Datenbankbenutzername\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password niemals nach Passwort fragen\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password nach Passwort fragen (sollte automatisch geschehen)\n" -#: pg_dump.c:1180 pg_dumpall.c:690 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLLENNAME vor der Ausgabe SET ROLE ausführen\n" -#: pg_dump.c:1182 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -2009,459 +2009,459 @@ msgstr "" "PGDATABASE verwendet.\n" "\n" -#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Berichten Sie Fehler an <%s>.\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" -#: pg_dump.c:1204 pg_dumpall.c:518 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "ungültige Clientkodierung »%s« angegeben" -#: pg_dump.c:1344 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "parallele Dumps von Standby-Servern werden von dieser Serverversion nicht unterstützt" -#: pg_dump.c:1409 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "ungültiges Ausgabeformat »%s« angegeben" -#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "falscher qualifizierter Name (zu viele Namensteile): %s" -#: pg_dump.c:1458 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "keine passenden Schemas für Muster »%s« gefunden" -#: pg_dump.c:1511 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "keine passenden Erweiterungen für Muster »%s« gefunden" -#: pg_dump.c:1564 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "keine passenden Fremdserver für Muster »%s« gefunden" -#: pg_dump.c:1635 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "falscher Relationsname (zu viele Namensteile): %s" -#: pg_dump.c:1657 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "keine passenden Tabellen für Muster »%s« gefunden" -#: pg_dump.c:1684 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "Sie sind gegenwärtig nicht mit einer Datenbank verbunden." -#: pg_dump.c:1687 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s" -#: pg_dump.c:2146 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "gebe Inhalt der Tabelle »%s.%s« aus" -#: pg_dump.c:2252 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Ausgabe des Inhalts der Tabelle »%s« fehlgeschlagen: PQgetCopyData() fehlgeschlagen." -#: pg_dump.c:2253 pg_dump.c:2263 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Fehlermeldung vom Server: %s" -#: pg_dump.c:2254 pg_dump.c:2264 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "Die Anweisung war: %s" -#: pg_dump.c:2262 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Ausgabe des Inhalts der Tabelle »%s« fehlgeschlagen: PQgetResult() fehlgeschlagen." -#: pg_dump.c:2344 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "falsche Anzahl Felder von Tabelle »%s« erhalten" -#: pg_dump.c:3042 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "sichere Datenbankdefinition" -#: pg_dump.c:3151 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "unbekannter Locale-Provider: %s" -#: pg_dump.c:3512 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "sichere Kodierung = %s" -#: pg_dump.c:3537 +#: pg_dump.c:3562 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "sichere »standard_conforming_strings = %s«" -#: pg_dump.c:3576 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "konnte Ergebnis von current_schemas() nicht interpretieren" -#: pg_dump.c:3595 +#: pg_dump.c:3620 #, c-format msgid "saving \"search_path = %s\"" msgstr "sichere »search_path = %s«" -#: pg_dump.c:3631 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "lese Large Objects" -#: pg_dump.c:3852 +#: pg_dump.c:3877 #, c-format msgid "saving large objects \"%s\"" msgstr "sichere Large Objects »%s«" -#: pg_dump.c:3873 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "Fehler beim Lesen von Large Object %u: %s" -#: pg_dump.c:3976 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "lese Policys für Sicherheit auf Zeilenebene" -#: pg_dump.c:4117 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "unerwarteter Policy-Befehlstyp: %c" -#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18137 -#: pg_dump.c:18139 pg_dump.c:18761 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "konnte %s-Array nicht interpretieren" -#: pg_dump.c:4759 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "Subskriptionen werden nicht ausgegeben, weil der aktuelle Benutzer kein Superuser ist" -#: pg_dump.c:4965 +#: pg_dump.c:5012 #, c-format msgid "subscription with OID %u does not exist" msgstr "Subskription mit OID %u existiert nicht" -#: pg_dump.c:4972 +#: pg_dump.c:5019 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Tabelle mit OID %u nicht gefunden" -#: pg_dump.c:5535 +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "konnte Erweiterung, zu der %s %s gehört, nicht finden" -#: pg_dump.c:5680 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "Schema mit OID %u existiert nicht" -#: pg_dump.c:7162 pg_dump.c:17508 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Elterntabelle mit OID %u von Sequenz mit OID %u nicht gefunden" -#: pg_dump.c:7305 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "Sanity-Check fehlgeschlagen, Tabellen-OID %u, die in pg_partitioned_table erscheint, nicht gefunden" -#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 -#: pg_dump.c:9141 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "unbekannte Tabellen-OID %u" -#: pg_dump.c:7540 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "unerwartete Indexdaten für Tabelle »%s«" -#: pg_dump.c:8042 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Elterntabelle mit OID %u von pg_rewrite-Eintrag mit OID %u nicht gefunden" -#: pg_dump.c:8875 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "unerwartete Spaltendaten für Tabelle »%s«" -#: pg_dump.c:8904 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ungültige Spaltennummerierung in Tabelle »%s«" -#: pg_dump.c:8955 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "finde Tabellenvorgabeausdrücke" -#: pg_dump.c:8997 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "ungültiger adnum-Wert %d für Tabelle »%s«" -#: pg_dump.c:9091 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "finde Tabellen-Check-Constraints" -#: pg_dump.c:9145 +#: pg_dump.c:9192 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "%d Check-Constraint für Tabelle %s erwartet, aber %d gefunden" msgstr[1] "%d Check-Constraints für Tabelle %s erwartet, aber %d gefunden" -#: pg_dump.c:9149 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Die Systemkataloge sind wahrscheinlich verfälscht." -#: pg_dump.c:9839 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "Rolle mit OID %u existiert nicht" -#: pg_dump.c:9951 pg_dump.c:9980 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "nicht unterstützter pg_init_privs-Eintrag: %u %u %d" -#: pg_dump.c:10527 +#: pg_dump.c:10574 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "fehlende Metadaten für Large Objects »%s«" -#: pg_dump.c:10810 +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype des Datentypen »%s« scheint ungültig zu sein" -#: pg_dump.c:12384 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "ungültiger provolatile-Wert für Funktion »%s«" -#: pg_dump.c:12434 pg_dump.c:14330 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "ungültiger proparallel-Wert für Funktion »%s«" -#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "konnte Funktionsdefinition für Funktion mit OID %u nicht finden" -#: pg_dump.c:12603 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "unsinniger Wert in Feld pg_cast.castfunc oder pg_cast.castmethod" -#: pg_dump.c:12606 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "unsinniger Wert in Feld pg_cast.castmethod" -#: pg_dump.c:12696 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "unsinnige Transformationsdefinition, mindestens eins von trffromsql und trftosql sollte nicht null sein" -#: pg_dump.c:12713 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "unsinniger Wert in Feld pg_transform.trffromsql" -#: pg_dump.c:12734 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "unsinniger Wert in Feld pg_transform.trftosql" -#: pg_dump.c:12879 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "Postfix-Operatoren werden nicht mehr unterstützt (Operator »%s«)" -#: pg_dump.c:13049 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "konnte Operator mit OID %s nicht finden" -#: pg_dump.c:13117 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "ungültiger Typ »%c« für Zugriffsmethode »%s«" -#: pg_dump.c:13791 pg_dump.c:13859 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "unbekannter Sortierfolgen-Provider: %s" -#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 -#: pg_dump.c:13843 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "ungültige Sortierfolge »%s«" -#: pg_dump.c:14249 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "unbekannter aggfinalmodify-Wert für Aggregat »%s«" -#: pg_dump.c:14305 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "unbekannter aggmfinalmodify-Wert für Aggregat »%s«" -#: pg_dump.c:15022 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "unbekannter Objekttyp in den Vorgabeprivilegien: %d" -#: pg_dump.c:15038 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "konnte Vorgabe-ACL-Liste (%s) nicht interpretieren" -#: pg_dump.c:15122 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "konnte initiale ACL-Liste (%s) oder Default (%s) für Objekt »%s« (%s) nicht interpretieren" -#: pg_dump.c:15147 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "konnte ACL-Liste (%s) oder Default (%s) für Objekt »%s« (%s) nicht interpretieren" -#: pg_dump.c:15690 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "Anfrage um die Definition der Sicht »%s« zu ermitteln lieferte keine Daten" -#: pg_dump.c:15693 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "Anfrage um die Definition der Sicht »%s« zu ermitteln lieferte mehr als eine Definition" -#: pg_dump.c:15700 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "Definition der Sicht »%s« scheint leer zu sein (Länge null)" -#: pg_dump.c:15784 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS wird nicht mehr unterstützt (Tabelle »%s«)" -#: pg_dump.c:16710 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "ungültige Spaltennummer %d in Tabelle »%s«" -#: pg_dump.c:16788 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "konnte Indexstatistikspalten nicht interpretieren" -#: pg_dump.c:16790 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "konnte Indexstatistikwerte nicht interpretieren" -#: pg_dump.c:16792 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "Anzahl Spalten und Werte für Indexstatistiken stimmt nicht überein" -#: pg_dump.c:17007 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "fehlender Index für Constraint »%s«" -#: pg_dump.c:17242 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "unbekannter Constraint-Typ: %c" -#: pg_dump.c:17343 pg_dump.c:17572 +#: pg_dump.c:17452 pg_dump.c:17681 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "Anfrage nach Daten der Sequenz %s ergab %d Zeile (erwartete 1)" msgstr[1] "Anfrage nach Daten der Sequenz %s ergab %d Zeilen (erwartete 1)" -#: pg_dump.c:17375 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "unbekannter Sequenztyp: %s" -#: pg_dump.c:17889 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "Anfrage nach Regel »%s« der Tabelle »%s« fehlgeschlagen: falsche Anzahl Zeilen zurückgegeben" -#: pg_dump.c:18042 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "konnte referenzierte Erweiterung %u nicht finden" -#: pg_dump.c:18141 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "Anzahl Konfigurationen und Bedingungen für Erweiterung stimmt nicht überein" -#: pg_dump.c:18273 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "lese Abhängigkeitsdaten" -#: pg_dump.c:18359 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "kein referenzierendes Objekt %u %u" -#: pg_dump.c:18370 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "kein referenziertes Objekt %u %u" -#: pg_dump.c:18795 pg_dump.c:18833 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 #, c-format msgid "%s filter for \"%s\" is not allowed" @@ -2612,8 +2612,10 @@ msgstr "" #: pg_dumpall.c:661 #, c-format -msgid " --filter=FILENAME exclude databases specified in FILENAME\n" -msgstr " --filter=DATEINAME in DATEINAME angegebene Datenbanken überspringen\n" +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr "" +" --filter=DATEINAME Datenbanken basierend auf Ausdrücken in DATEINAME\n" +" überspringen\n" #: pg_dumpall.c:667 #, c-format diff --git a/src/bin/pg_dump/po/es.po b/src/bin/pg_dump/po/es.po index 4a9bd10e92778..37d37d75ba765 100644 --- a/src/bin/pg_dump/po/es.po +++ b/src/bin/pg_dump/po/es.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-01 11:22+0000\n" -"PO-Revision-Date: 2024-08-01 12:06-0400\n" +"POT-Creation-Date: 2024-08-05 02:51+0000\n" +"PO-Revision-Date: 2024-08-05 16:03-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -453,10 +453,10 @@ msgid "reading subscriptions" msgstr "leyendo las suscripciones" #: common.c:270 -#, fuzzy, c-format +#, c-format #| msgid "reading publication membership of tables" msgid "reading subscription membership of tables" -msgstr "leyendo membresía de tablas en publicaciones" +msgstr "leyendo membresía de tablas en suscripciones" #: common.c:333 #, c-format @@ -573,65 +573,62 @@ msgid "unhandled mode \"%s\"" msgstr "modo «%s» sin manejar" #: filter.c:49 -#, fuzzy, c-format +#, c-format #| msgid "could not open input file \"%s\": %m" msgid "could not open filter file \"%s\": %m" -msgstr "no se pudo abrir el archivo de entrada «%s»: %m" +msgstr "no se pudo abrir el archivo de filtro «%s»: %m" #: filter.c:72 -#, fuzzy, c-format +#, c-format #| msgid "could not close file \"%s\": %m" msgid "could not close filter file \"%s\": %m" -msgstr "no se pudo cerrar el archivo «%s»: %m" +msgstr "no se pudo cerrar el archivo de filtro «%s»: %m" #: filter.c:165 #, c-format msgid "invalid format in filter read from standard input on line %d: %s" -msgstr "" +msgstr "formato inválido en filtro leído desde entrada estándar en línea %d: %s" #: filter.c:168 -#, fuzzy, c-format +#, c-format #| msgid "invalid syntax in time zone file \"%s\", line %d" msgid "invalid format in filter read from file \"%s\" on line %d: %s" -msgstr "sintaxis no válida en archivo de huso horario «%s», línea %d" +msgstr "sintaxis no válida en filtro leído desde archivo «%s», línea %d: %s" #: filter.c:241 filter.c:468 -#, fuzzy, c-format +#, c-format #| msgid "could not read from file \"%s\": %m" msgid "could not read from filter file \"%s\": %m" -msgstr "no se pudo leer el archivo «%s»: %m" +msgstr "no se pudo leer el archivo de filtro «%s»: %m" #: filter.c:244 -#, fuzzy #| msgid "unexpected end of line" msgid "unexpected end of file" -msgstr "fin de línea inesperado" +msgstr "fin de archivo inesperado" #: filter.c:311 -#, fuzzy #| msgid "missing Language parameter" msgid "missing object name pattern" -msgstr "falta un parámetro Language" +msgstr "falta el parámetro de nombre de objeto" #: filter.c:422 msgid "no filter command found (expected \"include\" or \"exclude\")" -msgstr "" +msgstr "no se encontró orden de filtro (se esperaba «include» o «include»)" #: filter.c:433 msgid "invalid filter command (expected \"include\" or \"exclude\")" -msgstr "" +msgstr "orden de filtro no válida (se esperaba «include» o «exclude»)" #: filter.c:440 -#, fuzzy #| msgid "saving large objects" msgid "missing filter object type" -msgstr "salvando objetos grandes" +msgstr "falta el parámetro de tipo de objeto" #: filter.c:447 -#, fuzzy, c-format +#, c-format #| msgid "unsupported object type \"%s\"" msgid "unsupported filter object type: \"%.*s\"" -msgstr "tipo de objeto «%s» no soportado" +msgstr "tipo de objeto de filtro «%.*s» no soportado" #: parallel.c:251 #, c-format @@ -738,10 +735,10 @@ msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "la restauración en paralelo no está soportada con archivos construidos con pg_dump anterior a 8.0" #: pg_backup_archiver.c:377 -#, fuzzy, c-format +#, c-format #| msgid "cannot parse archive \"%s\"" msgid "cannot restore from compressed archive (%s)" -msgstr "no se pudo interpretar el archivo «%s»" +msgstr "no se puede restaurar del archivo comprimido (%s)" #: pg_backup_archiver.c:397 #, c-format @@ -1057,28 +1054,28 @@ msgid "could not set session user to \"%s\": %s" msgstr "no se pudo establecer el usuario de sesión a «%s»: %s" #: pg_backup_archiver.c:3457 -#, fuzzy, c-format +#, c-format #| msgid "could not set search_path to \"%s\": %s" msgid "could not set \"search_path\" to \"%s\": %s" -msgstr "no se pudo definir search_path a «%s»: %s" +msgstr "no se pudo definir «search_path» a «%s»: %s" #: pg_backup_archiver.c:3518 -#, fuzzy, c-format +#, c-format #| msgid "could not set default_tablespace to %s: %s" msgid "could not set \"default_tablespace\" to %s: %s" -msgstr "no se pudo definir default_tablespace a %s: %s" +msgstr "no se pudo definir «default_tablespace» a %s: %s" #: pg_backup_archiver.c:3567 -#, fuzzy, c-format +#, c-format #| msgid "could not set default_table_access_method: %s" msgid "could not set \"default_table_access_method\": %s" -msgstr "no se pudo definir default_table_access_method: %s" +msgstr "no se pudo definir «default_table_access_method»: %s" #: pg_backup_archiver.c:3616 -#, fuzzy, c-format +#, c-format #| msgid "could not set default_table_access_method: %s" msgid "could not alter table access method: %s" -msgstr "no se pudo definir default_table_access_method: %s" +msgstr "no se pudo alterar el método de acceso a tabla: %s" #: pg_backup_archiver.c:3717 #, c-format @@ -1111,8 +1108,7 @@ msgid "expected format (%d) differs from format found in file (%d)" msgstr "el formato esperado (%d) difiere del formato encontrado en el archivo (%d)" #: pg_backup_archiver.c:4059 -#, fuzzy, c-format -#| msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" +#, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "el archivo está comprimido, pero esta instalación no soporta compresión (%s) -- los datos no estarán disponibles" @@ -1384,13 +1380,13 @@ msgid "could not close LO data file: %m" msgstr "no se pudo cerrar el archivo de datos LO: %m" #: pg_backup_directory.c:712 -#, fuzzy, c-format +#, c-format #| msgid "could not write to LOs TOC file: %s" msgid "could not write to LOs TOC file: %s" msgstr "no se pudo escribir archivo TOC de LOs: %s" #: pg_backup_directory.c:728 -#, fuzzy, c-format +#, c-format #| msgid "could not close TOC file: %m" msgid "could not close LOs TOC file: %m" msgstr "no se pudo cerrar el archivo TOC: %m" @@ -1653,10 +1649,10 @@ msgid " --no-sync do not wait for changes to be written safe msgstr " --no-sync no esperar que los cambios se sincronicen a disco\n" #: pg_dump.c:1106 -#, fuzzy, c-format +#, c-format #| msgid " --clone clone instead of copying files to new cluster\n" msgid " --sync-method=METHOD set method for syncing files to disk\n" -msgstr " --clone clonar los archivos en vez de copiarlos\n" +msgstr " --sync-method=MÉTODO definir método para sincr. archivos a disco\n" #: pg_dump.c:1107 pg_dumpall.c:643 #, c-format @@ -1678,7 +1674,7 @@ msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only extrae sólo los datos, no el esquema\n" #: pg_dump.c:1111 -#, fuzzy, c-format +#, c-format #| msgid " -b, --large-objects include large objects in dump\n" msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects incluir “large objects” en la extracción\n" @@ -1689,7 +1685,7 @@ msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (igual que --large-objects, deprecado)\n" #: pg_dump.c:1113 -#, fuzzy, c-format +#, c-format #| msgid " -B, --no-large-objects exclude large objects in dump\n" msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects excluir “large objects” en la extracción\n" @@ -1751,7 +1747,7 @@ msgid " -S, --superuser=NAME superuser user name to use in plain-text f msgstr " -S, --superuser=NAME superusuario a utilizar en el volcado de texto\n" #: pg_dump.c:1125 -#, fuzzy, c-format +#, c-format #| msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATRÓN extrae sólo la o las tablas nombradas\n" @@ -1802,10 +1798,10 @@ msgstr "" " contenido al que el usuario tiene acceso)\n" #: pg_dump.c:1134 -#, fuzzy, c-format +#, c-format #| msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" -msgstr " -e, --extension=PATRÓN extrae sólo la o las extensiones nombradas\n" +msgstr " --exclude-extension=PATRÓN NO volcar la o las extensiones indicadas\n" #: pg_dump.c:1135 #, c-format @@ -1845,6 +1841,8 @@ msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" " based on expressions in FILENAME\n" msgstr "" +" --filter=ARCHIVO incluir o excluir objetos y datos basado en\n" +" expresiones en ARCHIVO\n" #: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 #, c-format @@ -2149,10 +2147,10 @@ msgid "saving encoding = %s" msgstr "salvando codificaciones = %s" #: pg_dump.c:3537 -#, fuzzy, c-format +#, c-format #| msgid "saving standard_conforming_strings = %s" msgid "saving \"standard_conforming_strings = %s\"" -msgstr "salvando standard_conforming_strings = %s" +msgstr "salvando «standard_conforming_strings = %s»" #: pg_dump.c:3576 #, c-format @@ -2160,10 +2158,10 @@ msgid "could not parse result of current_schemas()" msgstr "no se pudo interpretar la salida de current_schemas()" #: pg_dump.c:3595 -#, fuzzy, c-format +#, c-format #| msgid "saving search_path = %s" msgid "saving \"search_path = %s\"" -msgstr "salvando search_path = %s" +msgstr "salvando «search_path = %s»" #: pg_dump.c:3631 #, c-format @@ -2171,10 +2169,10 @@ msgid "reading large objects" msgstr "leyendo objetos grandes" #: pg_dump.c:3852 -#, fuzzy, c-format +#, c-format #| msgid "saving large objects" msgid "saving large objects \"%s\"" -msgstr "salvando objetos grandes" +msgstr "salvando objetos grandes «%s»" #: pg_dump.c:3873 #, c-format @@ -2208,10 +2206,10 @@ msgid "subscription with OID %u does not exist" msgstr "no existe la suscripción con OID %u" #: pg_dump.c:4972 -#, fuzzy, c-format +#, c-format #| msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgid "failed sanity check, table with OID %u not found" -msgstr "falló la revisión de integridad, el OID %u del padre de la tabla «%s» (OID %u) no se encontró" +msgstr "falló la revisión de integridad, tabla con OID %u no se encontró" #: pg_dump.c:5535 #, c-format @@ -2297,10 +2295,10 @@ msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "entrada en pg_init_privs no soportada: %u %u %d" #: pg_dump.c:10527 -#, fuzzy, c-format +#, c-format #| msgid "permission denied for large object %s" msgid "missing metadata for large objects \"%s\"" -msgstr "permiso denegado al objeto grande %s" +msgstr "metadata faltante para los objetos grandes «%s»" #: pg_dump.c:10810 #, c-format @@ -2497,10 +2495,10 @@ msgstr "no existe el objeto referenciado %u %u" #: pg_dump.c:18857 pg_dump.c:18895 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 -#, fuzzy, c-format +#, c-format #| msgid "access to library \"%s\" is not allowed" msgid "%s filter for \"%s\" is not allowed" -msgstr "no está permitido el acceso a la biblioteca «%s»" +msgstr "el filtro %s para «%s» no está permitido" #: pg_dump_sort.c:424 #, c-format @@ -2645,10 +2643,10 @@ msgid " --exclude-database=PATTERN exclude databases whose name matches PATTE msgstr " --exclude-database=PATRÓN excluir bases de datos cuyos nombres coinciden con el patrón\n" #: pg_dumpall.c:661 -#, fuzzy, c-format +#, c-format #| msgid " -f, --file=FILENAME output file name\n" msgid " --filter=FILENAME exclude databases specified in FILENAME\n" -msgstr " -f, --file=ARCHIVO nombre del archivo de salida\n" +msgstr " --filter=ARCHIVO excluir bases de datos especificadas en ARCHIVO\n" #: pg_dumpall.c:667 #, c-format @@ -2738,10 +2736,9 @@ msgid "executing %s" msgstr "ejecutando %s" #: pg_dumpall.c:1982 -#, fuzzy #| msgid "unsupported object type \"%s\"" msgid "unsupported filter object" -msgstr "tipo de objeto «%s» no soportado" +msgstr "objeto de filtro no soportado" #: pg_restore.c:329 #, c-format @@ -2754,10 +2751,10 @@ msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "las opciones -d/--dbname y -f/--file no pueden usarse juntas" #: pg_restore.c:350 -#, fuzzy, c-format +#, c-format #| msgid "options -C/--create and -1/--single-transaction cannot be used together" msgid "options -1/--single-transaction and --transaction-size cannot be used together" -msgstr "las opciones -c/--clean y -1/--single-transaction no pueden usarse juntas" +msgstr "las opciones -1/--single-transaction y --transaction-size no pueden usarse juntas" #: pg_restore.c:357 #, c-format @@ -2929,16 +2926,13 @@ msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security activa seguridad de filas\n" #: pg_restore.c:485 -#, fuzzy, c-format -#| msgid "" -#| " -O, --no-owner skip restoration of object ownership in\n" -#| " plain-text format\n" +#, c-format msgid "" " --filter=FILENAME restore or skip objects based on expressions\n" " in FILENAME\n" msgstr "" -" -O, --no-owner en formato de sólo texto, no reestablece\n" -" los dueños de los objetos\n" +" --filter=ARCHIVO restaurar o ignorar objetos basados en\n" +" expresiones en ARCHIVO\n" #: pg_restore.c:488 #, c-format @@ -2989,7 +2983,7 @@ msgstr "" #: pg_restore.c:499 #, c-format msgid " --transaction-size=N commit after every N objects\n" -msgstr "" +msgstr " --transaction-size=N comprometer transacción cada N objetos\n" #: pg_restore.c:510 #, c-format diff --git a/src/bin/pg_dump/po/fr.po b/src/bin/pg_dump/po/fr.po index 808499207e662..d51e9e09f3911 100644 --- a/src/bin/pg_dump/po/fr.po +++ b/src/bin/pg_dump/po/fr.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-05 17:21+0000\n" -"PO-Revision-Date: 2023-09-05 22:02+0200\n" +"POT-Creation-Date: 2024-08-29 17:52+0000\n" +"PO-Revision-Date: 2024-08-30 08:30+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -95,32 +95,47 @@ msgstr "l'algorithme de compression « %s » n'accepte pas un nombre de workers" msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "l'algorithme de compression « %s » n'accepte pas un mode distance longue" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 parallel.c:1609 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "mémoire épuisée" @@ -135,6 +150,49 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_backup_directory.c:182 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/wait_error.c:55 #, c-format msgid "command not executable" @@ -175,227 +233,247 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" -#: common.c:132 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: common.c:135 #, c-format msgid "reading extensions" msgstr "lecture des extensions" -#: common.c:135 +#: common.c:138 #, c-format msgid "identifying extension members" msgstr "identification des membres d'extension" -#: common.c:138 +#: common.c:141 #, c-format msgid "reading schemas" msgstr "lecture des schémas" -#: common.c:147 +#: common.c:150 #, c-format msgid "reading user-defined tables" msgstr "lecture des tables utilisateur" -#: common.c:152 +#: common.c:155 #, c-format msgid "reading user-defined functions" msgstr "lecture des fonctions utilisateur" -#: common.c:156 +#: common.c:159 #, c-format msgid "reading user-defined types" msgstr "lecture des types utilisateur" -#: common.c:160 +#: common.c:163 #, c-format msgid "reading procedural languages" msgstr "lecture des langages procéduraux" -#: common.c:163 +#: common.c:166 #, c-format msgid "reading user-defined aggregate functions" msgstr "lecture des fonctions d'agrégats utilisateur" -#: common.c:166 +#: common.c:169 #, c-format msgid "reading user-defined operators" msgstr "lecture des opérateurs utilisateur" -#: common.c:169 +#: common.c:172 #, c-format msgid "reading user-defined access methods" msgstr "lecture des méthodes d'accès définis par les utilisateurs" -#: common.c:172 +#: common.c:175 #, c-format msgid "reading user-defined operator classes" msgstr "lecture des classes d'opérateurs utilisateur" -#: common.c:175 +#: common.c:178 #, c-format msgid "reading user-defined operator families" msgstr "lecture des familles d'opérateurs utilisateur" -#: common.c:178 +#: common.c:181 #, c-format msgid "reading user-defined text search parsers" msgstr "lecture des analyseurs utilisateur pour la recherche plein texte" -#: common.c:181 +#: common.c:184 #, c-format msgid "reading user-defined text search templates" msgstr "lecture des modèles utilisateur pour la recherche plein texte" -#: common.c:184 +#: common.c:187 #, c-format msgid "reading user-defined text search dictionaries" msgstr "lecture des dictionnaires utilisateur pour la recherche plein texte" -#: common.c:187 +#: common.c:190 #, c-format msgid "reading user-defined text search configurations" msgstr "lecture des configurations utilisateur pour la recherche plein texte" -#: common.c:190 +#: common.c:193 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "lecture des wrappers de données distantes utilisateur" -#: common.c:193 +#: common.c:196 #, c-format msgid "reading user-defined foreign servers" msgstr "lecture des serveurs distants utilisateur" -#: common.c:196 +#: common.c:199 #, c-format msgid "reading default privileges" msgstr "lecture des droits par défaut" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined collations" msgstr "lecture des collationnements utilisateurs" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading user-defined conversions" msgstr "lecture des conversions utilisateur" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading type casts" msgstr "lecture des conversions de type" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading transforms" msgstr "lecture des transformations" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading table inheritance information" msgstr "lecture des informations d'héritage des tables" -#: common.c:214 +#: common.c:217 #, c-format msgid "reading event triggers" msgstr "lecture des triggers sur évènement" -#: common.c:218 +#: common.c:221 #, c-format msgid "finding extension tables" msgstr "recherche des tables d'extension" -#: common.c:222 +#: common.c:225 #, c-format msgid "finding inheritance relationships" msgstr "recherche des relations d'héritage" -#: common.c:225 +#: common.c:228 #, c-format msgid "reading column info for interesting tables" msgstr "lecture des informations de colonnes des tables intéressantes" -#: common.c:228 +#: common.c:231 #, c-format msgid "flagging inherited columns in subtables" msgstr "marquage des colonnes héritées dans les sous-tables" -#: common.c:231 +#: common.c:234 #, c-format msgid "reading partitioning data" msgstr "lecture des données de partitionnement" -#: common.c:234 +#: common.c:237 #, c-format msgid "reading indexes" msgstr "lecture des index" -#: common.c:237 +#: common.c:240 #, c-format msgid "flagging indexes in partitioned tables" msgstr "décrit les index des tables partitionnées" -#: common.c:240 +#: common.c:243 #, c-format msgid "reading extended statistics" msgstr "lecture des statistiques étendues" -#: common.c:243 +#: common.c:246 #, c-format msgid "reading constraints" msgstr "lecture des contraintes" -#: common.c:246 +#: common.c:249 #, c-format msgid "reading triggers" msgstr "lecture des triggers" -#: common.c:249 +#: common.c:252 #, c-format msgid "reading rewrite rules" msgstr "lecture des règles de réécriture" -#: common.c:252 +#: common.c:255 #, c-format msgid "reading policies" msgstr "lecture des politiques" -#: common.c:255 +#: common.c:258 #, c-format msgid "reading publications" msgstr "lecture des publications" -#: common.c:258 +#: common.c:261 #, c-format msgid "reading publication membership of tables" msgstr "lecture des appartenances aux publications des tables" -#: common.c:261 +#: common.c:264 #, c-format msgid "reading publication membership of schemas" msgstr "lecture des appartenances aux publications des schémas" -#: common.c:264 +#: common.c:267 #, c-format msgid "reading subscriptions" msgstr "lecture des souscriptions" -#: common.c:327 +#: common.c:270 +#, c-format +msgid "reading subscription membership of tables" +msgstr "lecture des appartenances aux souscriptions des tables" + +#: common.c:333 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "vérification échouée, OID %u parent de la table « %s » (OID %u) introuvable" -#: common.c:369 +#: common.c:375 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "nombre de parents invalide (%d) pour la table « %s »" -#: common.c:1049 +#: common.c:1098 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "n'a pas pu analyser le tableau numérique « %s » : trop de nombres" -#: common.c:1061 +#: common.c:1110 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "n'a pas pu analyser le tableau numérique « %s » : caractère invalide dans le nombre" @@ -425,15 +503,20 @@ msgstr "n'a pas pu décompresser les données : %s" msgid "could not close compression library: %s" msgstr "n'a pas pu fermer la bibliothèque de compression : %s" -#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 -#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 #, c-format msgid "could not read from input file: %s" msgstr "n'a pas pu lire à partir du fichier en entrée : %s" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 -#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 -#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 +#: compress_zstd.c:373 pg_backup_custom.c:651 +#, c-format +msgid "could not read from input file: %m" +msgstr "n'a pas pu lire à partir du fichier en entrée : %m" + +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141 +#: compress_zstd.c:371 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "n'a pas pu lire à partir du fichier en entrée : fin du fichier" @@ -484,16 +567,61 @@ msgstr "n'a pas pu initialiser la bibliothèque de compression" msgid "could not decompress data: %s" msgstr "n'a pas pu décompresser les données : %s" -#: compress_zstd.c:373 pg_backup_custom.c:655 -#, c-format -msgid "could not read from input file: %m" -msgstr "n'a pas pu lire à partir du fichier en entrée : %m" - #: compress_zstd.c:501 #, c-format msgid "unhandled mode \"%s\"" msgstr "mode « %s » non géré" +#: filter.c:49 +#, c-format +msgid "could not open filter file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier filtre « %s » : %m" + +#: filter.c:72 +#, c-format +msgid "could not close filter file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier filtre « %s » : %m" + +#: filter.c:165 +#, c-format +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "format invalide dans la lecture du filtre à partir de l'entrée standard sur la ligne %d : %s" + +#: filter.c:168 +#, c-format +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "format invalide dans le filtre lu du fichier « %s » sur la ligne %d : %s" + +#: filter.c:241 filter.c:468 +#, c-format +msgid "could not read from filter file \"%s\": %m" +msgstr "n'a pas pu lire à partir du fichier filtre « %s » : %m" + +#: filter.c:244 +msgid "unexpected end of file" +msgstr "fin de fichier inattendu" + +#: filter.c:311 +msgid "missing object name pattern" +msgstr "motif de nom d'objet manquant" + +#: filter.c:422 +msgid "no filter command found (expected \"include\" or \"exclude\")" +msgstr "aucune commande de filtre (attendait « include » ou « exclude »)" + +#: filter.c:433 +msgid "invalid filter command (expected \"include\" or \"exclude\")" +msgstr "commande de filtre invalide (attendait « include » ou « exclude »)" + +#: filter.c:440 +msgid "missing filter object type" +msgstr "type d'objet filtre manquant" + +#: filter.c:447 +#, c-format +msgid "unsupported filter object type: \"%.*s\"" +msgstr "type d'objet filtre non supporté : « %.*s »" + #: parallel.c:251 #, c-format msgid "%s() failed: error code %d" @@ -573,461 +701,466 @@ msgstr "pgpipe: n'a pas pu se connecter au socket: code d'erreur %d" msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: n'a pas pu accepter de connexion: code d'erreur %d" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 #, c-format msgid "could not close output file: %m" msgstr "n'a pas pu fermer le fichier en sortie : %m" -#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#: pg_backup_archiver.c:305 pg_backup_archiver.c:309 #, c-format msgid "archive items not in correct section order" msgstr "les éléments de l'archive ne sont pas dans l'ordre correct de la section" -#: pg_backup_archiver.c:330 +#: pg_backup_archiver.c:315 #, c-format msgid "unexpected section code %d" msgstr "code de section inattendu %d" -#: pg_backup_archiver.c:367 +#: pg_backup_archiver.c:352 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "la restauration parallélisée n'est pas supportée avec ce format de fichier d'archive" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:356 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "la restauration parallélisée n'est pas supportée avec les archives réalisées par un pg_dump antérieur à la 8.0" -#: pg_backup_archiver.c:392 +#: pg_backup_archiver.c:377 #, c-format msgid "cannot restore from compressed archive (%s)" msgstr "ne peut pas restaurer l'archive compressée (%s)" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:397 #, c-format msgid "connecting to database for restore" msgstr "connexion à la base de données pour la restauration" -#: pg_backup_archiver.c:414 +#: pg_backup_archiver.c:399 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "les connexions directes à la base de données ne sont pas supportées dans les archives pre-1.3" -#: pg_backup_archiver.c:457 +#: pg_backup_archiver.c:442 #, c-format msgid "implied data-only restore" msgstr "a impliqué une restauration des données uniquement" -#: pg_backup_archiver.c:523 +#: pg_backup_archiver.c:510 #, c-format msgid "dropping %s %s" msgstr "suppression de %s %s" -#: pg_backup_archiver.c:623 +#: pg_backup_archiver.c:642 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "n'a pas pu trouver où insérer IF EXISTS dans l'instruction « %s »" -#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 #, c-format msgid "warning from original dump file: %s" msgstr "message d'avertissement du fichier de sauvegarde original : %s" -#: pg_backup_archiver.c:795 +#: pg_backup_archiver.c:864 #, c-format msgid "creating %s \"%s.%s\"" msgstr "création de %s « %s.%s »" -#: pg_backup_archiver.c:798 +#: pg_backup_archiver.c:867 #, c-format msgid "creating %s \"%s\"" msgstr "création de %s « %s »" -#: pg_backup_archiver.c:848 +#: pg_backup_archiver.c:917 #, c-format msgid "connecting to new database \"%s\"" msgstr "connexion à la nouvelle base de données « %s »" -#: pg_backup_archiver.c:875 +#: pg_backup_archiver.c:944 #, c-format msgid "processing %s" msgstr "traitement de %s" -#: pg_backup_archiver.c:897 +#: pg_backup_archiver.c:966 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "traitement des données de la table « %s.%s »" -#: pg_backup_archiver.c:967 +#: pg_backup_archiver.c:1036 #, c-format msgid "executing %s %s" msgstr "exécution de %s %s" -#: pg_backup_archiver.c:1008 +#: pg_backup_archiver.c:1096 #, c-format msgid "disabling triggers for %s" msgstr "désactivation des triggers pour %s" -#: pg_backup_archiver.c:1034 +#: pg_backup_archiver.c:1122 #, c-format msgid "enabling triggers for %s" msgstr "activation des triggers pour %s" -#: pg_backup_archiver.c:1099 +#: pg_backup_archiver.c:1187 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "erreur interne -- WriteData ne peut pas être appelé en dehors du contexte de la routine DataDumper" -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1379 #, c-format msgid "large-object output not supported in chosen format" msgstr "la sauvegarde des « Large Objects » n'est pas supportée dans le format choisi" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1442 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "restauration de %d « Large Object »" msgstr[1] "restauration de %d « Large Objects »" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "restauration du « Large Object » d'OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1481 #, c-format msgid "could not create large object %u: %s" msgstr "n'a pas pu créer le « Large Object » %u : %s" -#: pg_backup_archiver.c:1383 pg_dump.c:3718 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "n'a pas pu ouvrir le « Large Object » %u : %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1542 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » : %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1570 #, c-format msgid "line ignored: %s" msgstr "ligne ignorée : %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1577 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "n'a pas pu trouver l'entrée pour l'ID %d" -#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 -#: pg_backup_directory.c:606 +#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 +#: pg_backup_directory.c:613 #, c-format msgid "could not close TOC file: %m" msgstr "n'a pas pu fermer le fichier TOC : %m" -#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:593 pg_backup_directory.c:658 -#: pg_backup_directory.c:676 pg_dumpall.c:501 +#: pg_backup_archiver.c:1687 pg_backup_custom.c:152 pg_backup_directory.c:333 +#: pg_backup_directory.c:600 pg_backup_directory.c:666 +#: pg_backup_directory.c:684 pg_dumpall.c:506 #, c-format msgid "could not open output file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier de sauvegarde « %s » : %m" -#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "n'a pas pu ouvrir le fichier de sauvegarde : %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1772 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" msgstr[0] "a écrit %zu octet de données d'un « Large Object » (résultat = %d)" msgstr[1] "a écrit %zu octets de données d'un « Large Object » (résultat = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1778 #, c-format msgid "could not write to large object: %s" msgstr "n'a pas pu écrire dans le « Large Object » : %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1868 #, c-format msgid "while INITIALIZING:" msgstr "pendant l'initialisation (« INITIALIZING ») :" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1873 #, c-format msgid "while PROCESSING TOC:" msgstr "pendant le traitement de la TOC (« PROCESSING TOC ») :" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1878 #, c-format msgid "while FINALIZING:" msgstr "pendant la finalisation (« FINALIZING ») :" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1883 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "de l'entrée TOC %d ; %u %u %s %s %s" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1959 #, c-format msgid "bad dumpId" msgstr "mauvais dumpId" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1980 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "mauvais dumpId de table pour l'élément TABLE DATA" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:2072 #, c-format msgid "unexpected data offset flag %d" msgstr "drapeau de décalage de données inattendu %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:2085 #, c-format msgid "file offset in dump file is too large" msgstr "le décalage dans le fichier de sauvegarde est trop important" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2196 #, c-format msgid "directory name too long: \"%s\"" msgstr "nom du répertoire trop long : « %s »" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2246 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" msgstr "le répertoire « %s » ne semble pas être une archive valide (« toc.dat » n'existe pas)" -#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 -#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#: pg_backup_archiver.c:2254 pg_backup_custom.c:169 pg_backup_custom.c:812 +#: pg_backup_directory.c:204 pg_backup_directory.c:396 #, c-format msgid "could not open input file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier en entrée « %s » : %m" -#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "n'a pas pu ouvrir le fichier en entrée : %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2267 #, c-format msgid "could not read input file: %m" msgstr "n'a pas pu lire le fichier en entrée : %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2269 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "le fichier en entrée est trop petit (%lu lus, 5 attendus)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2301 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "Le fichier en entrée semble être une sauvegarde au format texte. Merci d'utiliser psql." -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2307 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "le fichier en entrée ne semble pas être une archive valide (trop petit ?)" -#: pg_backup_archiver.c:2210 +#: pg_backup_archiver.c:2313 #, c-format msgid "input file does not appear to be a valid archive" msgstr "le fichier en entrée ne semble pas être une archive valide" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2322 #, c-format msgid "could not close input file: %m" msgstr "n'a pas pu fermer le fichier en entrée : %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2401 #, c-format msgid "could not open stdout for appending: %m" msgstr "n'a pas pu ouvrir stdout pour l'ajout : %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2446 #, c-format msgid "unrecognized file format \"%d\"" msgstr "format de fichier « %d » non reconnu" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "élément terminé %d %s %s" -#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "échec du processus worker : code de sortie %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2653 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "ID %d de l'entrée en dehors de la plage -- peut-être un TOC corrompu" -#: pg_backup_archiver.c:2628 +#: pg_backup_archiver.c:2736 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "la restauration des tables avec WITH OIDS n'est plus supportée" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2818 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "encodage « %s » non reconnu" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2823 #, c-format msgid "invalid ENCODING item: %s" msgstr "élément ENCODING invalide : %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2841 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "élément STDSTRINGS invalide : %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2866 #, c-format msgid "schema \"%s\" not found" msgstr "schéma « %s » non trouvé" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2873 #, c-format msgid "table \"%s\" not found" msgstr "table « %s » non trouvée" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2880 #, c-format msgid "index \"%s\" not found" msgstr "index « %s » non trouvé" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2887 #, c-format msgid "function \"%s\" not found" msgstr "fonction « %s » non trouvée" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2894 #, c-format msgid "trigger \"%s\" not found" msgstr "trigger « %s » non trouvé" -#: pg_backup_archiver.c:3183 +#: pg_backup_archiver.c:3325 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "n'a pas pu initialiser la session utilisateur à « %s »: %s" -#: pg_backup_archiver.c:3315 +#: pg_backup_archiver.c:3457 #, c-format -msgid "could not set search_path to \"%s\": %s" -msgstr "n'a pas pu configurer search_path à « %s » : %s" +msgid "could not set \"search_path\" to \"%s\": %s" +msgstr "n'a pas pu configurer « search_path » à « %s » : %s" -#: pg_backup_archiver.c:3376 +#: pg_backup_archiver.c:3518 #, c-format -msgid "could not set default_tablespace to %s: %s" -msgstr "n'a pas pu configurer default_tablespace à %s : %s" +msgid "could not set \"default_tablespace\" to %s: %s" +msgstr "n'a pas pu configurer « default_tablespace » à %s : %s" -#: pg_backup_archiver.c:3425 +#: pg_backup_archiver.c:3567 #, c-format -msgid "could not set default_table_access_method: %s" -msgstr "n'a pas pu configurer la méthode default_table_access_method à %s" +msgid "could not set \"default_table_access_method\": %s" +msgstr "n'a pas pu configurer la méthode « default_table_access_method » : %s" -#: pg_backup_archiver.c:3530 +#: pg_backup_archiver.c:3616 +#, c-format +msgid "could not alter table access method: %s" +msgstr "n'a pas pu modifier la méthode d'accès aux tables : %s" + +#: pg_backup_archiver.c:3717 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "ne sait pas comment initialiser le propriétaire du type d'objet « %s »" -#: pg_backup_archiver.c:3752 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "n'a pas trouver la chaîne magique dans le fichier d'en-tête" -#: pg_backup_archiver.c:3766 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "version non supportée (%d.%d) dans le fichier d'en-tête" -#: pg_backup_archiver.c:3771 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "échec de la vérification sur la taille de l'entier (%lu)" -#: pg_backup_archiver.c:3775 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "l'archive a été créée sur une machine disposant d'entiers plus larges, certaines opérations peuvent échouer" -#: pg_backup_archiver.c:3785 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "le format attendu (%d) diffère du format du fichier (%d)" -#: pg_backup_archiver.c:3807 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "l'archive est compressée mais cette installation ne supporte pas la compression (%s) -- aucune donnée ne sera disponible" -#: pg_backup_archiver.c:3843 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "date de création invalide dans l'en-tête" -#: pg_backup_archiver.c:3977 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "traitement de l'élément %d %s %s" -#: pg_backup_archiver.c:4052 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "entrée dans la boucle parallèle principale" -#: pg_backup_archiver.c:4063 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "omission de l'élément %d %s %s" -#: pg_backup_archiver.c:4072 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "lancement de l'élément %d %s %s" -#: pg_backup_archiver.c:4126 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "fin de la boucle parallèle principale" -#: pg_backup_archiver.c:4162 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "traitement de l'élément manquant %d %s %s" -#: pg_backup_archiver.c:4767 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "la table « %s » n'a pas pu être créée, ses données ne seront pas restaurées" -#: pg_backup_custom.c:380 pg_backup_null.c:147 +#: pg_backup_custom.c:376 pg_backup_null.c:143 #, c-format msgid "invalid OID for large object" msgstr "OID invalide pour le « Large Object »" -#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 -#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636 +#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034 #, c-format msgid "error during file seek: %m" msgstr "erreur lors de la recherche dans le fichier : %m" -#: pg_backup_custom.c:484 +#: pg_backup_custom.c:480 #, c-format msgid "data block %d has wrong seek position" msgstr "le bloc de données %d a une mauvaise position de recherche" -#: pg_backup_custom.c:501 +#: pg_backup_custom.c:497 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "type de bloc de données non reconnu (%d) lors de la recherche dans l'archive" -#: pg_backup_custom.c:523 +#: pg_backup_custom.c:519 #, c-format msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" msgstr "" @@ -1036,53 +1169,53 @@ msgstr "" "différent, ce qui ne peut pas être géré à cause d'un fichier non gérable en\n" "recherche" -#: pg_backup_custom.c:528 +#: pg_backup_custom.c:524 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "n'a pas pu trouver l'identifiant de bloc %d dans l'archive -- possible corruption de l'archive" -#: pg_backup_custom.c:535 +#: pg_backup_custom.c:531 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "ID de bloc inattendu (%d) lors de la lecture des données -- %d attendu" -#: pg_backup_custom.c:549 +#: pg_backup_custom.c:545 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "type de bloc de données %d non reconnu lors de la restauration de l'archive" -#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 -#: pg_backup_tar.c:1017 +#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945 +#: pg_backup_tar.c:1032 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "n'a pas pu déterminer la position de recherche dans le fichier d'archive : %m" -#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#: pg_backup_custom.c:767 pg_backup_custom.c:807 #, c-format msgid "could not close archive file: %m" msgstr "n'a pas pu fermer le fichier d'archive : %m" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:790 #, c-format msgid "can only reopen input archives" msgstr "peut seulement rouvrir l'archive en entrée" -#: pg_backup_custom.c:801 +#: pg_backup_custom.c:797 #, c-format msgid "parallel restore from standard input is not supported" msgstr "la restauration parallélisée n'est pas supportée à partir de stdin" -#: pg_backup_custom.c:803 +#: pg_backup_custom.c:799 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "la restauration parallélisée n'est pas supportée à partir de fichiers sans table de matière" -#: pg_backup_custom.c:819 +#: pg_backup_custom.c:815 #, c-format msgid "could not set seek position in archive file: %m" msgstr "n'a pas pu initialiser la recherche de position dans le fichier d'archive : %m" -#: pg_backup_custom.c:898 +#: pg_backup_custom.c:894 #, c-format msgid "compressor active" msgstr "compression activée" @@ -1092,12 +1225,12 @@ msgstr "compression activée" msgid "could not get server_version from libpq" msgstr "n'a pas pu obtenir server_version de libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1809 +#: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format msgid "aborting because of server version mismatch" msgstr "annulation à cause de la différence des versions" -#: pg_backup_db.c:54 pg_dumpall.c:1810 +#: pg_backup_db.c:54 pg_dumpall.c:1831 #, c-format msgid "server version: %s; %s version: %s" msgstr "version du serveur : %s ; %s version : %s" @@ -1107,7 +1240,7 @@ msgstr "version du serveur : %s ; %s version : %s" msgid "already connected to a database" msgstr "déjà connecté à une base de données" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779 msgid "Password: " msgstr "Mot de passe : " @@ -1121,18 +1254,18 @@ msgstr "n'a pas pu se connecter à la base de données" msgid "reconnection failed: %s" msgstr "échec de la reconnexion : %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1683 pg_dumpall.c:1767 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:788 pg_dump_sort.c:1213 +#: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 +#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916 #, c-format msgid "query failed: %s" msgstr "échec de la requête : %s" -#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 +#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917 #, c-format msgid "Query was: %s" msgstr "La requête était : %s" @@ -1168,7 +1301,7 @@ msgstr "erreur renvoyée par PQputCopyEnd : %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY échoué pour la table « %s » : %s" -#: pg_backup_db.c:521 pg_dump.c:2202 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "résultats supplémentaires non attendus durant l'exécution de COPY sur la table « %s »" @@ -1181,161 +1314,156 @@ msgstr "n'a pas pu démarrer la transaction de la base de données" msgid "could not commit database transaction" msgstr "n'a pas pu valider la transaction de la base de données" -#: pg_backup_directory.c:155 +#: pg_backup_directory.c:153 #, c-format msgid "no output directory specified" msgstr "aucun répertoire cible indiqué" -#: pg_backup_directory.c:184 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "n'a pas pu lire le répertoire « %s » : %m" - -#: pg_backup_directory.c:188 +#: pg_backup_directory.c:186 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_backup_directory.c:194 +#: pg_backup_directory.c:192 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: pg_backup_directory.c:356 pg_backup_directory.c:499 -#: pg_backup_directory.c:537 +#: pg_backup_directory.c:357 pg_backup_directory.c:506 +#: pg_backup_directory.c:544 #, c-format msgid "could not write to output file: %s" msgstr "n'a pas pu écrire dans le fichier en sortie : %s" -#: pg_backup_directory.c:374 +#: pg_backup_directory.c:375 #, c-format msgid "could not close data file: %m" msgstr "n'a pas pu fermer le fichier de données : %m" -#: pg_backup_directory.c:407 +#: pg_backup_directory.c:408 #, c-format msgid "could not close data file \"%s\": %m" msgstr "n'a pas pu fermer le fichier de données « %s » : %m" -#: pg_backup_directory.c:448 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » du Large Object en entrée : %m" -#: pg_backup_directory.c:459 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "ligne invalide dans le fichier TOC du Large Object « %s » : « %s »" -#: pg_backup_directory.c:468 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "erreur lors de la lecture du TOC du fichier Large Object « %s »" -#: pg_backup_directory.c:472 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "n'a pas pu fermer le TOC du Large Object « %s » : %m" -#: pg_backup_directory.c:694 +#: pg_backup_directory.c:702 #, c-format msgid "could not close LO data file: %m" msgstr "n'a pas pu fermer le fichier de données LO : %m" -#: pg_backup_directory.c:704 +#: pg_backup_directory.c:712 #, c-format msgid "could not write to LOs TOC file: %s" msgstr "n'a pas pu écrire dans le fichier TOC des Large Objects : %s" -#: pg_backup_directory.c:720 +#: pg_backup_directory.c:728 #, c-format msgid "could not close LOs TOC file: %m" msgstr "n'a pas pu fermer le fichier TOC des Large Objects : %m" -#: pg_backup_directory.c:739 +#: pg_backup_directory.c:747 #, c-format msgid "file name too long: \"%s\"" msgstr "nom du fichier trop long : « %s »" -#: pg_backup_null.c:74 +#: pg_backup_null.c:70 #, c-format msgid "this format cannot be read" msgstr "ce format ne peut pas être lu" -#: pg_backup_tar.c:172 +#: pg_backup_tar.c:168 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » en sortie : %m" -#: pg_backup_tar.c:179 +#: pg_backup_tar.c:175 #, c-format msgid "could not open TOC file for output: %m" msgstr "n'a pas pu ouvrir le fichier TOC en sortie : %m" -#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385 +#: pg_backup_tar.c:401 pg_backup_tar.c:906 #, c-format msgid "compression is not supported by tar archive format" msgstr "compression non supportée par le format des archives tar" -#: pg_backup_tar.c:206 +#: pg_backup_tar.c:202 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » en entrée : %m" -#: pg_backup_tar.c:213 +#: pg_backup_tar.c:209 #, c-format msgid "could not open TOC file for input: %m" msgstr "n'a pas pu ouvrir le fichier TOC en entrée : %m" -#: pg_backup_tar.c:322 +#: pg_backup_tar.c:318 #, c-format msgid "could not find file \"%s\" in archive" msgstr "n'a pas pu trouver le fichier « %s » dans l'archive" -#: pg_backup_tar.c:382 +#: pg_backup_tar.c:378 #, c-format msgid "could not generate temporary file name: %m" msgstr "impossible de créer le nom du fichier temporaire : %m" -#: pg_backup_tar.c:623 +#: pg_backup_tar.c:619 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "syntaxe inattendue de l'instruction COPY : « %s »" -#: pg_backup_tar.c:888 +#: pg_backup_tar.c:903 #, c-format msgid "invalid OID for large object (%u)" msgstr "OID invalide pour le « Large Object » (%u)" -#: pg_backup_tar.c:1033 +#: pg_backup_tar.c:1048 #, c-format msgid "could not close temporary file: %m" msgstr "n'a pas pu fermer le fichier temporaire : m" -#: pg_backup_tar.c:1036 +#: pg_backup_tar.c:1051 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "la longueur réelle du fichier (%lld) ne correspond pas à ce qui était attendu (%lld)" -#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#: pg_backup_tar.c:1097 pg_backup_tar.c:1128 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "n'a pas pu trouver l'en-tête du fichier « %s » dans l'archive tar" -#: pg_backup_tar.c:1100 +#: pg_backup_tar.c:1115 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." msgstr "la restauration désordonnée de données n'est pas supportée avec ce format d'archive : « %s » est requis mais vient avant « %s » dans le fichier d'archive." -#: pg_backup_tar.c:1147 +#: pg_backup_tar.c:1162 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" msgstr[0] "en-tête incomplet du fichier tar (%lu octet)" msgstr[1] "en-tête incomplet du fichier tar (%lu octets)" -#: pg_backup_tar.c:1186 +#: pg_backup_tar.c:1201 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" msgstr "en-tête tar corrompu trouvé dans %s (%d attendu, %d calculé ) à la position %llu du fichier" @@ -1345,10 +1473,10 @@ msgstr "en-tête tar corrompu trouvé dans %s (%d attendu, %d calculé ) à la p msgid "unrecognized section name: \"%s\"" msgstr "nom de section non reconnu : « %s »" -#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 -#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 -#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 -#: pg_restore.c:321 +#: pg_backup_utils.c:55 pg_dump.c:694 pg_dump.c:711 pg_dumpall.c:370 +#: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403 +#: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323 +#: pg_restore.c:337 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." @@ -1358,82 +1486,82 @@ msgstr "Essayez « %s --help » pour plus d'informations." msgid "out of on_exit_nicely slots" msgstr "plus d'emplacements on_exit_nicely" -#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_dump.c:696 pg_restore.c:328 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "les options « -s/--schema-only » et « -a/--data-only » ne peuvent pas être utilisées ensemble" -#: pg_dump.c:699 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "les options « -s/--schema-only » et « --include-foreign-data » ne peuvent pas être utilisées ensemble" -#: pg_dump.c:702 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "l'option --include-foreign-data n'est pas supportée avec une sauvegarde parallélisée" -#: pg_dump.c:705 pg_restore.c:331 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "les options « -c/--clean » et « -a/--data-only » ne peuvent pas être utilisées ensemble" -#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "l'option --if-exists nécessite l'option -c/--clean" -#: pg_dump.c:715 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "l'option --on-conflict-do-nothing requiert l'option --inserts, --rows-per-insert, ou --column-inserts" -#: pg_dump.c:744 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algorithme de compression inconnu : « %s »" -#: pg_dump.c:751 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "spécification de compression invalide : %s" -#: pg_dump.c:764 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "l'option de compression « %s » n'est pas actuellement supportée par pg_dump" -#: pg_dump.c:776 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "la sauvegarde parallélisée n'est supportée qu'avec le format directory" -#: pg_dump.c:822 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "le dernier OID interne est %u" -#: pg_dump.c:831 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "aucun schéma correspondant n'a été trouvé" -#: pg_dump.c:848 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "aucune table correspondante n'a été trouvée" -#: pg_dump.c:876 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "aucune extension correspondante n'a été trouvée" -#: pg_dump.c:1056 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1443,17 +1571,17 @@ msgstr "" "formats.\n" "\n" -#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_dump.c:1058 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [BASE]\n" -#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1462,12 +1590,12 @@ msgstr "" "\n" "Options générales :\n" -#: pg_dump.c:1061 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FICHIER nom du fichier ou du répertoire en sortie\n" -#: pg_dump.c:1062 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1476,24 +1604,24 @@ msgstr "" " -F, --format=c|d|t|p format du fichier de sortie (personnalisé,\n" " répertoire, tar, texte (par défaut))\n" -#: pg_dump.c:1064 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de jobs en parallèle pour la\n" " sauvegarde\n" -#: pg_dump.c:1065 pg_dumpall.c:635 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose mode verbeux\n" -#: pg_dump.c:1066 pg_dumpall.c:636 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_dump.c:1067 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1502,26 +1630,31 @@ msgstr "" " -Z, --compress=METHODE[:DETAIL]\n" " compresse comme indiqué\n" -#: pg_dump.c:1069 pg_dumpall.c:637 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr "" " --lock-wait-timeout=DÉLAI échec après l'attente du DÉLAI pour un verrou de\n" " table\n" -#: pg_dump.c:1070 pg_dumpall.c:664 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " --no-sync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_dump.c:1071 pg_dumpall.c:638 +#: pg_dump.c:1107 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_dump.c:1073 pg_dumpall.c:639 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1530,66 +1663,66 @@ msgstr "" "\n" "Options contrôlant le contenu en sortie :\n" -#: pg_dump.c:1074 pg_dumpall.c:640 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only sauvegarde uniquement les données, pas le schéma\n" -#: pg_dump.c:1075 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects inclut les « Large Objects » dans la sauvegarde\n" -#: pg_dump.c:1076 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (comme --large-objects, obsolète)\n" -#: pg_dump.c:1077 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects exclut les « Large Objects » de la sauvegarde\n" -#: pg_dump.c:1078 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (comme --no-large-objects, obsolète)\n" -#: pg_dump.c:1079 pg_restore.c:447 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr "" " -c, --clean nettoie/supprime les objets de la base de données\n" " avant de les créer\n" -#: pg_dump.c:1080 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create inclut les commandes de création de la base\n" " dans la sauvegarde\n" -#: pg_dump.c:1081 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=MOTIF sauvegarde uniquement les extensions indiquées\n" -#: pg_dump.c:1082 pg_dumpall.c:642 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODAGE sauvegarde les données dans l'encodage ENCODAGE\n" -#: pg_dump.c:1083 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=MOTIF sauvegarde uniquement les schémas indiqués\n" -#: pg_dump.c:1084 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=MOTIF ne sauvegarde pas les schémas indiqués\n" -#: pg_dump.c:1085 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1598,50 +1731,50 @@ msgstr "" " -O, --no-owner ne sauvegarde pas les propriétaires des objets\n" " lors de l'utilisation du format texte\n" -#: pg_dump.c:1087 pg_dumpall.c:646 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr "" " -s, --schema-only sauvegarde uniquement la structure, pas les\n" " données\n" -#: pg_dump.c:1088 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr "" " -S, --superuser=NOM indique le nom du super-utilisateur à utiliser\n" " avec le format texte\n" -#: pg_dump.c:1089 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=MOTIF sauvegarde uniquement les tables indiquées\n" -#: pg_dump.c:1090 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=MOTIF ne sauvegarde pas les tables indiquées\n" -#: pg_dump.c:1091 pg_dumpall.c:649 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges ne sauvegarde pas les droits sur les objets\n" -#: pg_dump.c:1092 pg_dumpall.c:650 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr "" " --binary-upgrade à n'utiliser que par les outils de mise à jour\n" " seulement\n" -#: pg_dump.c:1093 pg_dumpall.c:651 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr "" " --column-inserts sauvegarde les données avec des commandes INSERT\n" " en précisant les noms des colonnes\n" -#: pg_dump.c:1094 pg_dumpall.c:652 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" @@ -1649,14 +1782,14 @@ msgstr "" " dans le but de respecter le standard SQL en\n" " matière de guillemets\n" -#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr "" " --disable-triggers désactive les triggers en mode de restauration\n" " des données seules\n" -#: pg_dump.c:1096 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1666,7 +1799,12 @@ msgstr "" " sauvegarde uniquement le contenu visible par cet\n" " utilisateur)\n" -#: pg_dump.c:1098 +#: pg_dump.c:1135 +#, c-format +msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" +msgstr " --exclude-extension=MOTIF ne sauvegarde PAS les extensions indiquées\n" + +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1676,12 +1814,12 @@ msgstr "" " --exclude-table-and-children=MOTIF\n" " ne sauvegarde PAS les tables indiquées, ceci incluant les tables filles et les partitions\n" -#: pg_dump.c:1101 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=MOTIF ne sauvegarde pas les tables indiquées\n" -#: pg_dump.c:1102 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1691,21 +1829,30 @@ msgstr "" " --exclude-table-data-and-children=MOTIF\n" " ne sauvegarde PAS les données des tables indiquées, ceci incluant les tables filles et les partitions\n" -#: pg_dump.c:1105 pg_dumpall.c:655 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr "" " --extra-float-digits=NUM surcharge la configuration par défaut de\n" " extra_float_digits\n" -#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 +#: pg_dump.c:1144 +#, c-format +msgid "" +" --filter=FILENAME include or exclude objects and data from dump\n" +" based on expressions in FILENAME\n" +msgstr "" +" --filter=NOMFICHIER inclut ou exclut des objets et des données à partir de la sauvegarde\n" +" basée sur les expressions dans NOMFICHIER\n" + +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr "" " --if-exists utilise IF EXISTS lors de la suppression des\n" " objets\n" -#: pg_dump.c:1107 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1715,103 +1862,103 @@ msgstr "" " --include-foreign-data=MOTIF inclut les données des tables externes pour les\n" " serveurs distants correspondant au motif MOTIF\n" -#: pg_dump.c:1110 pg_dumpall.c:657 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr "" " --inserts sauvegarde les données avec des instructions\n" " INSERT plutôt que COPY\n" -#: pg_dump.c:1111 pg_dumpall.c:658 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root charger les partitions via la table racine\n" -#: pg_dump.c:1112 pg_dumpall.c:659 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments ne sauvegarde pas les commentaires\n" -#: pg_dump.c:1113 pg_dumpall.c:660 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications ne sauvegarde pas les publications\n" -#: pg_dump.c:1114 pg_dumpall.c:662 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr "" " --no-security-labels ne sauvegarde pas les affectations de labels de\n" " sécurité\n" -#: pg_dump.c:1115 pg_dumpall.c:663 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions ne sauvegarde pas les souscriptions\n" -#: pg_dump.c:1116 pg_dumpall.c:665 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method ne sauvegarde pas les méthodes d'accès aux tables\n" -#: pg_dump.c:1117 pg_dumpall.c:666 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces ne sauvegarde pas les affectations de tablespaces\n" -#: pg_dump.c:1118 pg_dumpall.c:667 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr "" " --no-toast-compression ne sauvegarde pas les méthodes de compression de\n" " TOAST\n" -#: pg_dump.c:1119 pg_dumpall.c:668 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr "" " --no-unlogged-table-data ne sauvegarde pas les données des tables non\n" " journalisées\n" -#: pg_dump.c:1120 pg_dumpall.c:669 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr "" " --on-conflict-do-nothing ajoute ON CONFLICT DO NOTHING aux commandes\n" " INSERT\n" -#: pg_dump.c:1121 pg_dumpall.c:670 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers met entre guillemets tous les identifiants même\n" " s'il ne s'agit pas de mots clés\n" -#: pg_dump.c:1122 pg_dumpall.c:671 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NROWS nombre de lignes par INSERT ; implique --inserts\n" -#: pg_dump.c:1123 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECTION sauvegarde la section indiquée (pre-data, data\n" " ou post-data)\n" -#: pg_dump.c:1124 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr "" " --serializable-deferrable attend jusqu'à ce que la sauvegarde puisse\n" " s'exécuter sans anomalies\n" -#: pg_dump.c:1125 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT utilise l'image donnée pour la sauvegarde\n" -#: pg_dump.c:1126 pg_restore.c:476 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1820,14 +1967,14 @@ msgstr "" " --strict-names requiert que les motifs des tables et/ou schémas\n" " correspondent à au moins une entité de chaque\n" -#: pg_dump.c:1128 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" " child and partition tables\n" msgstr " --table-and-children=MODÈLE sauvegarde uniquement les tables indiquées, en incluant les tables filles et les partitions\n" -#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1839,7 +1986,7 @@ msgstr "" " au lieu des commandes ALTER OWNER pour modifier\n" " les propriétaires\n" -#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1848,46 +1995,46 @@ msgstr "" "\n" "Options de connexion :\n" -#: pg_dump.c:1135 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=BASE base de données à sauvegarder\n" -#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données ou\n" " répertoire des sockets\n" -#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT numéro de port du serveur de bases de données\n" -#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NOM se connecter avec cet utilisateur\n" -#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais un mot de passe\n" -#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password force la demande du mot de passe (devrait\n" " survenir automatiquement)\n" -#: pg_dump.c:1141 pg_dumpall.c:684 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=NOMROLE exécute SET ROLE avant la sauvegarde\n" -#: pg_dump.c:1143 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1900,530 +2047,537 @@ msgstr "" "d'environnement PGDATABASE est alors utilisée.\n" "\n" -#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapporter les bogues à <%s>.\n" -#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_dump.c:1165 pg_dumpall.c:513 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "encodage client indiqué (« %s ») invalide" -#: pg_dump.c:1303 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "les sauvegardes parallélisées sur un serveur standby ne sont pas supportées par cette version du serveur" -#: pg_dump.c:1368 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "format de sortie « %s » invalide" -#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" -#: pg_dump.c:1417 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "aucun schéma correspondant n'a été trouvé avec le motif « %s »" -#: pg_dump.c:1470 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "aucune extension correspondante n'a été trouvée avec le motif « %s »" -#: pg_dump.c:1523 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "aucun serveur distant correspondant n'a été trouvé avec le motif « %s »" -#: pg_dump.c:1594 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "nom de relation incorrecte (trop de points entre les noms) : %s" -#: pg_dump.c:1616 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "aucune table correspondante n'a été trouvée avec le motif « %s »" -#: pg_dump.c:1643 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "Vous n'êtes pas connecté à une base de données." -#: pg_dump.c:1646 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "les références entre bases de données ne sont pas implémentées : %s" -#: pg_dump.c:2077 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "sauvegarde du contenu de la table « %s.%s »" -#: pg_dump.c:2183 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Sauvegarde du contenu de la table « %s » échouée : échec de PQgetCopyData()." -#: pg_dump.c:2184 pg_dump.c:2194 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Message d'erreur du serveur : %s" -#: pg_dump.c:2185 pg_dump.c:2195 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "La commande était : %s" -#: pg_dump.c:2193 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Sauvegarde du contenu de la table « %s » échouée : échec de PQgetResult()." -#: pg_dump.c:2275 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "mauvais nombre de champs récupérés à partir de la table « %s »" -#: pg_dump.c:2973 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "sauvegarde de la définition de la base de données" -#: pg_dump.c:3078 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "fournisseur de locale non reconnu : %s" -#: pg_dump.c:3429 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "encodage de la sauvegarde = %s" -#: pg_dump.c:3454 +#: pg_dump.c:3562 #, c-format -msgid "saving standard_conforming_strings = %s" -msgstr "sauvegarde de standard_conforming_strings = %s" +msgid "saving \"standard_conforming_strings = %s\"" +msgstr "sauvegarde de « standard_conforming_strings = %s »" -#: pg_dump.c:3493 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "n'a pas pu analyser le résultat de current_schema()" -#: pg_dump.c:3512 +#: pg_dump.c:3620 #, c-format -msgid "saving search_path = %s" -msgstr "sauvegarde de search_path = %s" +msgid "saving \"search_path = %s\"" +msgstr "sauvegarde de « search_path = %s »" -#: pg_dump.c:3549 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "lecture des « Large Objects »" -#: pg_dump.c:3687 +#: pg_dump.c:3877 #, c-format -msgid "saving large objects" -msgstr "sauvegarde des « Large Objects »" +msgid "saving large objects \"%s\"" +msgstr "sauvegarde des « Large Objects » « %s »" -#: pg_dump.c:3728 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "erreur lors de la lecture du « Large Object » %u : %s" -#: pg_dump.c:3834 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "lecture des politiques de sécurité au niveau ligne" -#: pg_dump.c:3975 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "type de commande inattendu pour la politique : %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 -#: pg_dump.c:17896 pg_dump.c:18517 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "n'a pas pu analyser le tableau %s" -#: pg_dump.c:4613 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "les souscriptions ne sont pas sauvegardées parce que l'utilisateur courant n'est pas un superutilisateur" -#: pg_dump.c:5149 +#: pg_dump.c:5012 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "la souscription d'OID %u n'existe pas" + +#: pg_dump.c:5019 +#, c-format +msgid "failed sanity check, table with OID %u not found" +msgstr "vérification de santé échouée, table d'OID %u introuvable" + +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "n'a pas pu trouver l'extension parent pour %s %s" -#: pg_dump.c:5294 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "le schéma d'OID %u n'existe pas" -#: pg_dump.c:6776 pg_dump.c:17158 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "vérification échouée, OID %u de la table parent de l'OID %u de la séquence introuvable" -#: pg_dump.c:6919 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "vérification échouée, OID de table %u apparaissant dans partitioned introuvable" -#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 -#: pg_dump.c:8819 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "OID de table %u non reconnu" -#: pg_dump.c:7154 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "données d'index inattendu pour la table « %s »" -#: pg_dump.c:7649 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "vérification échouée, OID %u de la table parent de l'OID %u de l'entrée de pg_rewrite introuvable" -#: pg_dump.c:7940 -#, c-format -msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" -msgstr "la requête a produit une réference de nom de table null pour le trigger de la clé étrangère « %s » sur la table « %s » (OID de la table : %u)" - -#: pg_dump.c:8556 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "données de colonne inattendues pour la table « %s »" -#: pg_dump.c:8585 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "numérotation des colonnes invalide pour la table « %s »" -#: pg_dump.c:8633 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "recherche des expressions par défaut de la table" -#: pg_dump.c:8675 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "valeur adnum %d invalide pour la table « %s »" -#: pg_dump.c:8769 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "recherche des contraintes CHECK de la table" -#: pg_dump.c:8823 +#: pg_dump.c:9192 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "%d contrainte de vérification attendue pour la table « %s » mais %d trouvée" msgstr[1] "%d contraintes de vérification attendues pour la table « %s » mais %d trouvée" -#: pg_dump.c:8827 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Les catalogues système pourraient être corrompus." -#: pg_dump.c:9517 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "le rôle d'OID %u n'existe pas" -#: pg_dump.c:9629 pg_dump.c:9658 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "entrée pg_init_privs non supportée : %u %u %d" -#: pg_dump.c:10479 +#: pg_dump.c:10574 +#, c-format +msgid "missing metadata for large objects \"%s\"" +msgstr "métadonnée manquante pour les Large Object « %s »" + +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "la colonne typtype du type de données « %s » semble être invalide" -#: pg_dump.c:12053 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "valeur provolatile non reconnue pour la fonction « %s »" -#: pg_dump.c:12103 pg_dump.c:13985 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "valeur proparallel non reconnue pour la fonction « %s »" -#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "n'a pas pu trouver la définition de la fonction d'OID %u" -#: pg_dump.c:12272 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "valeur erronée dans le champ pg_cast.castfunc ou pg_cast.castmethod" -#: pg_dump.c:12275 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "valeur erronée dans pg_cast.castmethod" -#: pg_dump.c:12365 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "définition de transformation invalide, au moins un de trffromsql et trftosql ne doit pas valoir 0" -#: pg_dump.c:12382 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "valeur erronée dans pg_transform.trffromsql" -#: pg_dump.c:12403 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "valeur erronée dans pg_transform.trftosql" -#: pg_dump.c:12548 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "les opérateurs postfixes ne sont plus supportés (opérateur « %s »)" -#: pg_dump.c:12718 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "n'a pas pu trouver l'opérateur d'OID %s" -#: pg_dump.c:12786 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "type « %c » invalide de la méthode d'accès « %s »" -#: pg_dump.c:13455 pg_dump.c:13514 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "fournisseur de collationnement non reconnu : %s" -#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "collation « %s » invalide" -#: pg_dump.c:13904 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "valeur non reconnue de aggfinalmodify pour l'agrégat « %s »" -#: pg_dump.c:13960 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "valeur non reconnue de aggmfinalmodify pour l'agrégat « %s »" -#: pg_dump.c:14677 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "type d'objet inconnu dans les droits par défaut : %d" -#: pg_dump.c:14693 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "n'a pas pu analyser la liste ACL par défaut (%s)" -#: pg_dump.c:14775 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "n'a pas pu analyser la liste ACL initiale (%s) ou par défaut (%s) pour l'objet « %s » (%s)" -#: pg_dump.c:14800 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "n'a pas pu analyser la liste ACL (%s) ou par défaut (%s) pour l'objet « %s » (%s)" -#: pg_dump.c:15341 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "la requête permettant d'obtenir la définition de la vue « %s » n'a renvoyé aucune donnée" -#: pg_dump.c:15344 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "la requête permettant d'obtenir la définition de la vue « %s » a renvoyé plusieurs définitions" -#: pg_dump.c:15351 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "la définition de la vue « %s » semble être vide (longueur nulle)" -#: pg_dump.c:15435 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS n'est plus supporté (table « %s »)" -#: pg_dump.c:16359 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "numéro de colonne %d invalide pour la table « %s »" -#: pg_dump.c:16437 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "n'a pas pu analyser les colonnes statistiques de l'index" -#: pg_dump.c:16439 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "n'a pas pu analyser les valeurs statistiques de l'index" -#: pg_dump.c:16441 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "nombre de colonnes et de valeurs différentes pour les statistiques des index" -#: pg_dump.c:16657 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "index manquant pour la contrainte « %s »" -#: pg_dump.c:16892 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "type de contrainte inconnu : %c" -#: pg_dump.c:16993 pg_dump.c:17222 +#: pg_dump.c:17452 pg_dump.c:17681 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé %d ligne (une seule attendue)" msgstr[1] "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé %d ligne (une seule attendue)" -#: pg_dump.c:17025 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "type de séquence non reconnu : « %s »" -#: pg_dump.c:17314 -#, c-format -msgid "unexpected tgtype value: %d" -msgstr "valeur tgtype inattendue : %d" - -#: pg_dump.c:17386 -#, c-format -msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" -msgstr "chaîne argument invalide (%s) pour le trigger « %s » sur la table « %s »" - -#: pg_dump.c:17655 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "la requête permettant d'obtenir la règle « %s » associée à la table « %s » a échoué : mauvais nombre de lignes renvoyées" -#: pg_dump.c:17808 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "n'a pas pu trouver l'extension référencée %u" -#: pg_dump.c:17898 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "nombre différent de configurations et de conditions pour l'extension" -#: pg_dump.c:18030 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "lecture des données de dépendance" -#: pg_dump.c:18116 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "pas d'objet référant %u %u" -#: pg_dump.c:18127 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "pas d'objet référencé %u %u" -#: pg_dump_sort.c:422 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_restore.c:597 +#, c-format +msgid "%s filter for \"%s\" is not allowed" +msgstr "filtre %s pour « %s » n'est pas autorisé" + +#: pg_dump_sort.c:424 #, c-format msgid "invalid dumpId %d" msgstr "dumpId %d invalide" -#: pg_dump_sort.c:428 +#: pg_dump_sort.c:430 #, c-format msgid "invalid dependency %d" msgstr "dépendance invalide %d" -#: pg_dump_sort.c:661 +#: pg_dump_sort.c:594 #, c-format msgid "could not identify dependency loop" msgstr "n'a pas pu identifier la boucle de dépendance" -#: pg_dump_sort.c:1276 +#: pg_dump_sort.c:1209 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" msgstr[0] "NOTE : il existe des constraintes de clés étrangères circulaires sur cette table :" msgstr[1] "NOTE : il existe des constraintes de clés étrangères circulaires sur ces tables :" -#: pg_dump_sort.c:1281 +#: pg_dump_sort.c:1214 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "Il est possible de restaurer la sauvegarde sans utiliser --disable-triggers ou sans supprimer temporairement les constraintes." -#: pg_dump_sort.c:1282 +#: pg_dump_sort.c:1215 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Considérez l'utilisation d'une sauvegarde complète au lieu d'une sauvegarde des données seulement pour éviter ce problème." -#: pg_dump_sort.c:1294 +#: pg_dump_sort.c:1227 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "n'a pas pu résoudre la boucle de dépendances parmi ces éléments :" -#: pg_dumpall.c:230 +#: pg_dumpall.c:231 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_dumpall.c:233 +#: pg_dumpall.c:234 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_dumpall.c:382 +#: pg_dumpall.c:387 #, c-format msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" msgstr "l'option --exclude-database ne peut pas être utilisée avec -g/--globals-only, -r/--roles-only ou -t/--tablespaces-only" -#: pg_dumpall.c:390 +#: pg_dumpall.c:395 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "les options « -g/--globals-only » et « -r/--roles-only » ne peuvent pas être utilisées ensemble" -#: pg_dumpall.c:397 +#: pg_dumpall.c:402 #, c-format msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "les options « -g/--globals-only » et « -t/--tablespaces-only » ne peuvent pas être utilisées ensemble" -#: pg_dumpall.c:407 +#: pg_dumpall.c:412 #, c-format msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "les options « -r/--roles-only » et « -t/--tablespaces-only » ne peuvent pas être utilisées ensemble" -#: pg_dumpall.c:469 pg_dumpall.c:1750 +#: pg_dumpall.c:474 pg_dumpall.c:1771 #, c-format msgid "could not connect to database \"%s\"" msgstr "n'a pas pu se connecter à la base de données « %s »" -#: pg_dumpall.c:481 +#: pg_dumpall.c:486 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2432,7 +2586,7 @@ msgstr "" "n'a pas pu se connecter aux bases « postgres » et « template1 ».\n" "Merci de préciser une autre base de données." -#: pg_dumpall.c:629 +#: pg_dumpall.c:634 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2442,57 +2596,57 @@ msgstr "" "commandes SQL.\n" "\n" -#: pg_dumpall.c:631 +#: pg_dumpall.c:636 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [OPTION]...\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:639 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=FICHIER nom du fichier de sortie\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:646 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr "" " -c, --clean nettoie (supprime) les bases de données avant de\n" " les créer\n" -#: pg_dumpall.c:643 +#: pg_dumpall.c:648 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr "" " -g, --globals-only sauvegarde uniquement les objets système, pas\n" " le contenu des bases de données\n" -#: pg_dumpall.c:644 pg_restore.c:456 +#: pg_dumpall.c:649 pg_restore.c:475 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner omet la restauration des propriétaires des objets\n" -#: pg_dumpall.c:645 +#: pg_dumpall.c:650 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr "" " -r, --roles-only sauvegarde uniquement les rôles, pas les bases\n" " de données ni les tablespaces\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:652 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr "" " -S, --superuser=NOM indique le nom du super-utilisateur à utiliser\n" " avec le format texte\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:653 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr "" " -t, --tablespaces-only sauvegarde uniquement les tablespaces, pas les\n" " bases de données ni les rôles\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:659 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr "" @@ -2501,20 +2655,25 @@ msgstr "" #: pg_dumpall.c:661 #, c-format +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr " -f, --file=FICHIER exclut les bases indiquées sous forme d'expressions dans FICHIER\n" + +#: pg_dumpall.c:667 +#, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords ne sauvegarde pas les mots de passe des rôles\n" -#: pg_dumpall.c:677 +#: pg_dumpall.c:683 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=CHAINE_CONNEX connexion à l'aide de la chaîne de connexion\n" -#: pg_dumpall.c:679 +#: pg_dumpall.c:685 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=BASE indique une autre base par défaut\n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:692 #, c-format msgid "" "\n" @@ -2527,97 +2686,106 @@ msgstr "" "standard.\n" "\n" -#: pg_dumpall.c:828 +#: pg_dumpall.c:837 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "nom de rôle commençant par « pg_ » ignoré (« %s »)" -#: pg_dumpall.c:1050 +#: pg_dumpall.c:1059 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "n'a pas pu trouver un ordre de sauvegarde correct pour les appartenances au rôle « %s »" -#: pg_dumpall.c:1185 +#: pg_dumpall.c:1194 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "n'a pas pu analyser la liste d'ACL (%s) pour le paramètre « %s »" -#: pg_dumpall.c:1303 +#: pg_dumpall.c:1321 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "n'a pas pu analyser la liste d'ACL (%s) pour le tablespace « %s »" -#: pg_dumpall.c:1510 +#: pg_dumpall.c:1528 #, c-format msgid "excluding database \"%s\"" msgstr "exclusion de la base de données « %s »" -#: pg_dumpall.c:1514 +#: pg_dumpall.c:1532 #, c-format msgid "dumping database \"%s\"" msgstr "sauvegarde de la base de données « %s »" -#: pg_dumpall.c:1545 +#: pg_dumpall.c:1563 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "échec de pg_dump sur la base de données « %s », quitte" -#: pg_dumpall.c:1551 +#: pg_dumpall.c:1569 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "n'a pas pu ré-ouvrir le fichier de sortie « %s » : %m" -#: pg_dumpall.c:1592 +#: pg_dumpall.c:1613 #, c-format msgid "running \"%s\"" msgstr "exécute « %s »" -#: pg_dumpall.c:1793 +#: pg_dumpall.c:1814 #, c-format msgid "could not get server version" msgstr "n'a pas pu obtenir la version du serveur" -#: pg_dumpall.c:1796 +#: pg_dumpall.c:1817 #, c-format msgid "could not parse server version \"%s\"" msgstr "n'a pas pu analyser la version du serveur « %s »" -#: pg_dumpall.c:1866 pg_dumpall.c:1889 +#: pg_dumpall.c:1887 pg_dumpall.c:1910 #, c-format msgid "executing %s" msgstr "exécution %s" -#: pg_restore.c:313 +#: pg_dumpall.c:1982 +msgid "unsupported filter object" +msgstr "objet de filtre non supporté" + +#: pg_restore.c:329 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "une seule des options -d/--dbname and -f/--file peut être indiquée" -#: pg_restore.c:320 +#: pg_restore.c:336 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "les options « -d/--dbname » et « -f/--file » ne peuvent pas être utilisées ensemble" -#: pg_restore.c:338 +#: pg_restore.c:350 +#, c-format +msgid "options -1/--single-transaction and --transaction-size cannot be used together" +msgstr "les options -1/--single-transaction » et --transaction-size ne peuvent pas être utilisées ensemble" + +#: pg_restore.c:357 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "les options « -C/--create » et « -1/--single-transaction » ne peuvent pas être utilisées ensemble" -#: pg_restore.c:342 +#: pg_restore.c:361 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "ne peut pas spécifier à la fois l'option --single-transaction et demander plusieurs jobs" -#: pg_restore.c:380 +#: pg_restore.c:399 #, c-format msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "format d'archive « %s » non reconnu ; merci d'indiquer « c », « d » ou « t »" -#: pg_restore.c:419 +#: pg_restore.c:438 #, c-format msgid "errors ignored on restore: %d" msgstr "erreurs ignorées lors de la restauration : %d" -#: pg_restore.c:432 +#: pg_restore.c:451 #, c-format msgid "" "%s restores a PostgreSQL database from an archive created by pg_dump.\n" @@ -2627,51 +2795,51 @@ msgstr "" "par pg_dump.\n" "\n" -#: pg_restore.c:434 +#: pg_restore.c:453 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [OPTION]... [FICHIER]\n" -#: pg_restore.c:437 +#: pg_restore.c:456 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr "" " -d, --dbname=NOM nom de la base de données utilisée pour la\n" " connexion\n" -#: pg_restore.c:438 +#: pg_restore.c:457 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=FICHIER nom du fichier de sortie (- pour stdout)\n" -#: pg_restore.c:439 +#: pg_restore.c:458 #, c-format msgid " -F, --format=c|d|t backup file format (should be automatic)\n" msgstr "" " -F, --format=c|d|t format du fichier de sauvegarde (devrait être\n" " automatique)\n" -#: pg_restore.c:440 +#: pg_restore.c:459 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list affiche la table des matières de l'archive (TOC)\n" -#: pg_restore.c:441 +#: pg_restore.c:460 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose mode verbeux\n" -#: pg_restore.c:442 +#: pg_restore.c:461 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_restore.c:443 +#: pg_restore.c:462 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_restore.c:445 +#: pg_restore.c:464 #, c-format msgid "" "\n" @@ -2680,34 +2848,34 @@ msgstr "" "\n" "Options contrôlant la restauration :\n" -#: pg_restore.c:446 +#: pg_restore.c:465 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only restaure uniquement les données, pas la structure\n" -#: pg_restore.c:448 +#: pg_restore.c:467 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create crée la base de données cible\n" -#: pg_restore.c:449 +#: pg_restore.c:468 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr " -e, --exit-on-error quitte en cas d'erreur, continue par défaut\n" -#: pg_restore.c:450 +#: pg_restore.c:469 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NOM restaure l'index indiqué\n" -#: pg_restore.c:451 +#: pg_restore.c:470 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de jobs en parallèle pour la\n" " restauration\n" -#: pg_restore.c:452 +#: pg_restore.c:471 #, c-format msgid "" " -L, --use-list=FILENAME use table of contents from this file for\n" @@ -2716,66 +2884,75 @@ msgstr "" " -L, --use-list=FICHIER utilise la table des matières à partir de ce\n" " fichier pour sélectionner/trier la sortie\n" -#: pg_restore.c:454 +#: pg_restore.c:473 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NOM restaure uniquement les objets de ce schéma\n" -#: pg_restore.c:455 +#: pg_restore.c:474 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NOM ne restaure pas les objets de ce schéma\n" -#: pg_restore.c:457 +#: pg_restore.c:476 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NOM(args) restaure la fonction indiquée\n" -#: pg_restore.c:458 +#: pg_restore.c:477 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only restaure uniquement la structure, pas les données\n" -#: pg_restore.c:459 +#: pg_restore.c:478 #, c-format msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" msgstr "" " -S, --superuser=NOM indique le nom du super-utilisateur à utiliser\n" " pour désactiver les triggers\n" -#: pg_restore.c:460 +#: pg_restore.c:479 #, c-format msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NOM restaure la relation indiquée (table, vue, etc)\n" -#: pg_restore.c:461 +#: pg_restore.c:480 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NOM restaure le trigger indiqué\n" -#: pg_restore.c:462 +#: pg_restore.c:481 #, c-format msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" msgstr "" " -x, --no-privileges omet la restauration des droits sur les objets\n" " (grant/revoke)\n" -#: pg_restore.c:463 +#: pg_restore.c:482 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction restaure dans une seule transaction\n" -#: pg_restore.c:465 +#: pg_restore.c:484 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security active la sécurité niveau ligne\n" -#: pg_restore.c:467 +#: pg_restore.c:485 +#, c-format +msgid "" +" --filter=FILENAME restore or skip objects based on expressions\n" +" in FILENAME\n" +msgstr "" +" --filter=NOMFICHIER restaure ou ignore les objets suivant des expressions\n" +" dans NOMFICHIER\n" + +#: pg_restore.c:488 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments ne restaure pas les commentaires\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, c-format msgid "" " --no-data-for-failed-tables do not restore data of tables that could not be\n" @@ -2784,44 +2961,49 @@ msgstr "" " --no-data-for-failed-tables ne restaure pas les données des tables qui n'ont\n" " pas pu être créées\n" -#: pg_restore.c:470 +#: pg_restore.c:491 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications ne restaure pas les publications\n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels ne restaure pas les labels de sécurité\n" -#: pg_restore.c:472 +#: pg_restore.c:493 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions ne restaure pas les souscriptions\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr " --no-table-access-method ne restaure pas les méthodes d'accès aux tables\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces ne restaure pas les affectations de tablespaces\n" -#: pg_restore.c:475 +#: pg_restore.c:496 #, c-format msgid " --section=SECTION restore named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECTION restaure la section indiquée (pre-data, data ou\n" " post-data)\n" -#: pg_restore.c:488 +#: pg_restore.c:499 +#, c-format +msgid " --transaction-size=N commit after every N objects\n" +msgstr " --transaction-size=N valide après N objets\n" + +#: pg_restore.c:510 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=RÔLE exécute SET ROLE avant la restauration\n" -#: pg_restore.c:490 +#: pg_restore.c:512 #, c-format msgid "" "\n" @@ -2832,7 +3014,7 @@ msgstr "" "Les options -I, -n, -N, -P, -t, -T et --section peuvent être combinées et\n" "indiquées plusieurs fois pour sélectionner plusieurs objets.\n" -#: pg_restore.c:493 +#: pg_restore.c:515 #, c-format msgid "" "\n" @@ -3354,6 +3536,10 @@ msgstr "" #~ msgid "invalid TOASTCOMPRESSION item: %s" #~ msgstr "élément TOASTCOMPRESSION invalide : %s" +#, c-format +#~ msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" +#~ msgstr "chaîne argument invalide (%s) pour le trigger « %s » sur la table « %s »" + #, c-format #~ msgid "invalid binary \"%s\"" #~ msgstr "binaire « %s » invalide" @@ -3460,6 +3646,10 @@ msgstr "" #~ msgid "pclose failed: %s" #~ msgstr "échec de pclose : %s" +#, c-format +#~ msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" +#~ msgstr "la requête a produit une réference de nom de table null pour le trigger de la clé étrangère « %s » sur la table « %s » (OID de la table : %u)" + #~ msgid "query returned %d foreign server entry for foreign table \"%s\"\n" #~ msgid_plural "query returned %d foreign server entries for foreign table \"%s\"\n" #~ msgstr[0] "la requête a renvoyé %d entrée de serveur distant pour la table distante « %s »\n" @@ -3581,8 +3771,9 @@ msgstr "" #~ msgid "transferring dependency %d -> %d to %d\n" #~ msgstr "transfert de la dépendance %d -> %d vers %d\n" -#~ msgid "unexpected end of file\n" -#~ msgstr "fin de fichier inattendu\n" +#, c-format +#~ msgid "unexpected tgtype value: %d" +#~ msgstr "valeur tgtype inattendue : %d" #~ msgid "unrecognized collation provider: %s\n" #~ msgstr "fournisseur de collationnement non reconnu : %s\n" diff --git a/src/bin/pg_dump/po/ka.po b/src/bin/pg_dump/po/ka.po index 8cefdabdcddac..104ff1fa43b1c 100644 --- a/src/bin/pg_dump/po/ka.po +++ b/src/bin/pg_dump/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-24 21:52+0000\n" -"PO-Revision-Date: 2024-06-25 05:48+0200\n" +"POT-Creation-Date: 2024-08-27 16:52+0000\n" +"PO-Revision-Date: 2024-08-28 05:56+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -823,7 +823,7 @@ msgstr "მიმდინარეობს დიდი ობიექტი msgid "could not create large object %u: %s" msgstr "დიდი ობიექტის (%u) შექმნის შეცდომა: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3863 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "დიდი ობიექტის (%u) გახსნის შეცდომა: %s" @@ -974,12 +974,12 @@ msgstr "stdout-ის ბოლოში მისაწერად გახ msgid "unrecognized file format \"%d\"" msgstr "ფაილის უცნობი ფორმატი \"%d\"" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4625 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "დასრულებული ელემენტი %d %s %s" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4638 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "დამხმარე პროცესის შეცდომა: გამოსვლის კოდი %d" @@ -1064,72 +1064,72 @@ msgstr "ცხრილის წვდომის მეთოდის შე msgid "don't know how to set owner for object type \"%s\"" msgstr "არ ვიცი, როგორ დავაყენო ობიექტის მოცემული ტიპის (%s) მფლობელი" -#: pg_backup_archiver.c:3982 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "ფაილის თავსართში მაგიური სტრიქონი ნაპოვნი არაა" -#: pg_backup_archiver.c:3996 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "ფაილის თავსართში არსებული ვერსია (%d.%d) მხარდაუჭერელია" -#: pg_backup_archiver.c:4001 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "მთელი რიცხვის ზომის (%lu) სისწორის შემოწმების შეცდომა" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "არქივი შეიქმნა მანქანაზე, სადაც მთელი რიცხვი უფრო დიდია. ზოგიერთი ოპერაცია შეიძლება შეცდომით დასრულდეს" -#: pg_backup_archiver.c:4015 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "მოსალოდნელი ფორმატი (%d) განსხვავდება ფაილის ფორმატისგან (%d)" -#: pg_backup_archiver.c:4037 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "არქივი შეკუმშულია, მაგრამ ამ ვერსიას შეკუმშვის(%s) მხარდაჭერა არ გააჩნია -- მონაცემები მიუწვდომელი იქნება" -#: pg_backup_archiver.c:4073 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "თავსართში არსებული შექმნის დრო არასწორია" -#: pg_backup_archiver.c:4207 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "მუშავდება ელემენტი %d %s %s" -#: pg_backup_archiver.c:4292 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "მთავარი პარალელური მარყუჟის დასაწყისი" -#: pg_backup_archiver.c:4303 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "ელემენტის გამოტოვება %d %s %s" -#: pg_backup_archiver.c:4312 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "ელემენტის გაშვება %d %s %s" -#: pg_backup_archiver.c:4366 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "მთავარი პარალელური მარყუჟის დასასრული" -#: pg_backup_archiver.c:4402 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "გამორჩენილი ჩანაწერის დამუშავება %d %s %s" -#: pg_backup_archiver.c:4944 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "ცხრილის (%s) შექმნა შეუძლებელია. მონაცემების აღდგენა არ მოხდება" @@ -1245,7 +1245,7 @@ msgstr "ბაზასთან მიერთების შეცდომ msgid "reconnection failed: %s" msgstr "თავიდან მიერთების შეცდომა: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:788 pg_dump_sort.c:1213 #: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788 #, c-format msgid "%s" @@ -1292,7 +1292,7 @@ msgstr "\"PQputCopyEnd\"-ის მიერ დაბრუნებული msgid "COPY failed for table \"%s\": %s" msgstr "COPY-ის შეცდომა ცხრილისთვის \"%s\": %s" -#: pg_backup_db.c:521 pg_dump.c:2271 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "მოულოდნელი დამატებითი შედეგები COPY-ის დროს ცხრილისთვის \"%s\"" @@ -1464,7 +1464,7 @@ msgstr "%s-ში ნაპოვნია დაზიანებული თ msgid "unrecognized section name: \"%s\"" msgstr "სექციის უცნობი სახელი: %s" -#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370 +#: pg_backup_utils.c:55 pg_dump.c:694 pg_dump.c:711 pg_dumpall.c:370 #: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403 #: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323 #: pg_restore.c:337 @@ -1477,82 +1477,82 @@ msgstr "მეტი ინფორმაციისთვის სცად msgid "out of on_exit_nicely slots" msgstr "on_exit_nicely ტიპის სლოტები აღარ დარჩა" -#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")" -#: pg_dump.c:727 pg_restore.c:344 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "პარამეტრები -s/--schema-only და -a/--data-only ერთად ვერ გამოიყენება" -#: pg_dump.c:730 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "პარამეტრები -s/--schema-only და --include-foreign-data ერთად ვერ გამოიყენება" -#: pg_dump.c:733 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "პარამეტრი --include-foreign-data მხარდაუჭერელია პარალელური მარქაფისას" -#: pg_dump.c:736 pg_restore.c:347 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "პარამეტრები -c/--clean და -a/--data-only ერთად ვერ გამოიყენება" -#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "--if-exists -ს -c/--clean პარამეტრი ესაჭიროება" -#: pg_dump.c:746 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "--on-conflict-do-nothing -ს --inserts, --rows-per-insert ან --column-inserts ესაჭიროება" -#: pg_dump.c:775 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "შეკუმშვის უცხო ალგორითმი: \"%s\"" -#: pg_dump.c:782 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "შეკუმშვის არასწორი სპეციფიკაცია: %s" -#: pg_dump.c:795 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "შეკუმშვის პარამეტრი \"%s\"-ი pg_dump-ის მიერ ამჟამად მხარდაჭერილი არაა" -#: pg_dump.c:807 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "პარალელური მარქაფი მხოლოდ საქაღალდის რეჟიმშია მხარდაჭერილი" -#: pg_dump.c:853 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "ბოლო ჩაშენებული OID %u" -#: pg_dump.c:862 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "შესაბამისი სქემები ნაპოვნი არაა" -#: pg_dump.c:879 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "შესაბამისი ცხრილები ნაპოვნი არაა" -#: pg_dump.c:907 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "შესაბამისი გაფართოებები ნაპოვნი არაა" -#: pg_dump.c:1091 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1561,17 +1561,17 @@ msgstr "" "%s მონაცემთა ბაზას გამოიტანს, როგორც ტექსტურ ფაილს ან სხვა ფორმატებს.\n" "\n" -#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "გამოყენება:\n" -#: pg_dump.c:1093 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [პარამეტრი]... [ბაზისსახელი]\n" -#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1580,12 +1580,12 @@ msgstr "" "\n" "ზოგადი პარამეტრები:\n" -#: pg_dump.c:1096 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME გამოტანის ფაილის სახელი\n" -#: pg_dump.c:1097 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1594,22 +1594,22 @@ msgstr "" " -F, --format=c|d|t|p გამოტანის ფაილის ფორმატი (custom, directory, tar\n" " უბრალო ტექსტი (ნაგულისხმევი))\n" -#: pg_dump.c:1099 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM მითითებული რაოდენობის პარალელური დავალების გაშვება\n" -#: pg_dump.c:1100 pg_dumpall.c:640 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose დამატებითი ინფორმაციის გამოტანა\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" -#: pg_dump.c:1102 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1618,27 +1618,27 @@ msgstr "" " -Z, --compress=მეთოდი[:წვრილმანი]\n" " შეკუმშვის მითითება\n" -#: pg_dump.c:1104 pg_dumpall.c:642 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=TIMEOUT ცხრილის დაბლოკვისას TIMEOUT ის შემდეგ შეცდომის გამოგდება\n" -#: pg_dump.c:1105 pg_dumpall.c:670 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync არ დაველოდო ცვლილებების დისკზე უსაფრთხოდ ჩაწერას\n" -#: pg_dump.c:1106 +#: pg_dump.c:1107 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=მეთოდი ფაილების დისკზე სინქრონიზაციის მეთოდის დაყენება\n" -#: pg_dump.c:1107 pg_dumpall.c:643 +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: pg_dump.c:1109 pg_dumpall.c:644 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1647,62 +1647,62 @@ msgstr "" "\n" "პარამეტრები, რომლებიც აკონტროლებენ გამოტანას:\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only გამოტანილი იქნება მხოლოდ მონაცემები, სქემის გარეშე\n" -#: pg_dump.c:1111 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects გამოტანილი იქნება დიდი ობიექტებიც\n" -#: pg_dump.c:1112 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (იგივე, რაც--large-objects, რომელიც მოძველებულია)\n" -#: pg_dump.c:1113 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects დიდი ობიექტები გამოტანილი არ იქნება\n" -#: pg_dump.c:1114 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (იგივე, რაც --no-large-objects, რომელიც მოძველებულია)\n" -#: pg_dump.c:1115 pg_restore.c:466 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean ბაზის ობიექტების წაშლა თავიდან შექმნამდე\n" -#: pg_dump.c:1116 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create გამოტანილში ბაზის შექმნის ბრძანებების მიყოლება\n" -#: pg_dump.c:1117 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATTERN მხოლოდ მითითებული გაფართოებების გამოტანა\n" -#: pg_dump.c:1118 pg_dumpall.c:647 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODING მხოლოდ მითითებული კოდირების მქონე მონაცემების გამოტანა\n" -#: pg_dump.c:1119 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATTERN მხოლოდ მითითებული სქემების გამოტანა\n" -#: pg_dump.c:1120 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATTERN მითითებული სქემები გამოტანილი არ იქნება\n" -#: pg_dump.c:1121 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1711,52 +1711,52 @@ msgstr "" " -O, --no-owner უბრალო ტექსტურ ფორმატში ობიექტების მფლობელობის \n" " აღდგენის გამოტოვება\n" -#: pg_dump.c:1123 pg_dumpall.c:651 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only აღდგება მხოლოდ სქემები, მონაცემები კი არა\n" -#: pg_dump.c:1124 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME უბრალო ტექსტურ ფაილში გამოტანისას გამოყენებული ზემომხმარებლის სახელი\n" -#: pg_dump.c:1125 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=შაბლონი მხოლოდ მითითებული ცხრილების დამპი\n" -#: pg_dump.c:1126 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN მითითებული ცხრილები გამოტანილი არ იქნება\n" -#: pg_dump.c:1127 pg_dumpall.c:654 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges პრივილეგიები (dump/revoke) გამოტანილი არ იქნება\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade გამოიყენება მხოლოდ განახლების პროგრამების მიერ\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts მონაცემების დამპი ისე, როგორც ბრძანება INSERT, სვეტების სახელებით\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting დოლარით ციტირების გამორთვა. სტანდარტული SQL ციტირების გამოყენება\n" -#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers მხოლოდ მონაცემების აღდგენისას ტრიგერების გამორთვა\n" -#: pg_dump.c:1132 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1765,12 +1765,12 @@ msgstr "" " --enable-row-security მწკრივების უსაფრთხოების ჩართვა (მხოლოდ იმ მონაცემების დამპი, \n" " რაზეც მომხმარებელს წვდომა გააჩნია)\n" -#: pg_dump.c:1134 +#: pg_dump.c:1135 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=PATTERN მითითებული გაფართოებ(ებ)-ი გამოტანილი *არ* იქნება\n" -#: pg_dump.c:1135 +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1781,12 +1781,12 @@ msgstr "" " მითითებული ცხრილები დამპში არ იქნება,\n" " შვილი და დაყოფილი ცხრილების ჩათვლით\n" -#: pg_dump.c:1138 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " -T, --exclude-table=შაბლონი შაბლონით მითითებული ცხრილები\n" -#: pg_dump.c:1139 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1797,12 +1797,12 @@ msgstr "" " მითითებული ცხრილების მონაცემები დამპში არ იქნება,\n" " შვილი და დაყოფილი ცხრილების ჩათვლით\n" -#: pg_dump.c:1142 pg_dumpall.c:660 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=NUM extra_float_digits-ის ნაგულისხმევი პარამეტრის გადაფარვა\n" -#: pg_dump.c:1143 +#: pg_dump.c:1144 #, c-format msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" @@ -1811,12 +1811,12 @@ msgstr "" " --filter=ფაილისსახელი დამპიდან ობიექტების და მონაცემების, რომლებიც ემთხვევა მითითებულ\n" " ფაილისსახელში მყოფ გამოსახულებას, ამოღება ან ჩასმა\n" -#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists ობიექტების გადაყრისას IF EXISTS -ის გამოყენება\n" -#: pg_dump.c:1146 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1827,87 +1827,87 @@ msgstr "" " მონაცემების ჩასმა უცხო სერვერებზე მდებარე , უცხო ცხრილებიდან, რომლებიც\n" " შაბლონს ემთხვევა\n" -#: pg_dump.c:1149 pg_dumpall.c:663 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts მონაცემების დამპი INSERT ბრძანებების მსგავსად, COPY-ის მაგიერ\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root დანაყოფების root ცხრილს გავლით ჩატვირთვა\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments კომენტარების გარეშე\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications გამოცემების გარეშე\n" -#: pg_dump.c:1153 pg_dumpall.c:668 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels უსაფრთხოების ჭდეების მინიჭებების გარეშე\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions გამოწერების გარეშე\n" -#: pg_dump.c:1155 pg_dumpall.c:671 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method ცხრილის წვდომის მეთოდები\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces ცხრილის სივრცის მინიჭებები\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression TOAST-ის შეკუმშვის მეთოდები დამპში არ ჩაიწერება\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data ის ცხრილები, რომლებსაც ჟურნალი არ აქვთ, დამპში არ ჩაიწერება\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing INSERT ბრძანებებისთვის ON CONFLICT DO NOTHING -ის დამატება\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers ყველა იდენტიფიკატორის ციტირება. მაშინაც კი, თუ ისინი საკვანძო სიტყვები არაა\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NROWS მწკრივების რიცხვი თითოეული INSERT-ისთვის ; ასევე მიუთითებს --inserts\n" -#: pg_dump.c:1162 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr " --section=სექცია მითითებული სექცია (pre-data, data, ან post-data)\n" -#: pg_dump.c:1163 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable მოცდა, სანამ დამპის გაშვება ანომალიების გარეშე იქნება შესაძლებელი\n" -#: pg_dump.c:1164 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT დამპისთვის მითითებული სწრაფი ასლის გამოყენება\n" -#: pg_dump.c:1165 pg_restore.c:497 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1916,7 +1916,7 @@ msgstr "" " --strict-names მოთხოვნა, რომ ცხრილი ან/და სქემა შეიცავდეს შაბლონებს, რომლებიც\n" " ერთ ელემენტს მაინც ემთხვევა\n" -#: pg_dump.c:1167 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1925,7 +1925,7 @@ msgstr "" " --table-and-children=შაბლონი მხოლოდ მითითებული ცხრილების დამპი,\n" " შვილი და დაყოფილი ცხრილების ჩათვლით\n" -#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1936,7 +1936,7 @@ msgstr "" " მფლობელობის დასაყენებლად ALTER OWNER ბრძანებების მაგიერ\n" " SET SESSION AUTHORIZATION -ის გამოყენება\n" -#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1945,42 +1945,42 @@ msgstr "" "\n" "შეერთების პარამეტრები:\n" -#: pg_dump.c:1174 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=ბაზისსახელი მონაცემთა ბაზის სახელი\n" -#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME მონაცემთა ბაზის სერვერის ჰოსტის ან სოკეტის საქაღალდე\n" -#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT მონაცემთა ბაზის სერვერის პორტი\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=მომხმარებელი ბაზის მომხმარებლის სახელი\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password არასოდეს მკითხო პაროლი\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password პაროლის ყოველთვის კითხვა (ავტომატურად უნდა ხდებოდეს)\n" -#: pg_dump.c:1180 pg_dumpall.c:690 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME აღდგენამდე SET ROLE -ის გაშვება\n" -#: pg_dump.c:1182 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1993,459 +1993,459 @@ msgstr "" "ცვლადი გამოიყენება.\n" "\n" -#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "შეცდომების შესახებ მიწერეთ: <%s>\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-ის საწყისი გვერდია: <%s>\n" -#: pg_dump.c:1204 pg_dumpall.c:518 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "კლიენტის მითითებული კოდირება არასწორია: %s" -#: pg_dump.c:1344 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "სერვერის ამ ვერსიაში უქმე სერვერებიდან პარალელური დამპი მხარდაჭერილი არაა" -#: pg_dump.c:1409 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "გამოტანის მითითებული ფორმატი არასწორია: %s" -#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "არასწორი სრული სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" -#: pg_dump.c:1458 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "შესაბამისი სქემა შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1511 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "შესაბამისი გაფართოება შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1564 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "შესაბამისი უცხო სერვერი შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1635 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ურთიერთობის არასწორი სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" -#: pg_dump.c:1657 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "შესაბამისი ცხრილი შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1684 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "ამჟამად მონაცემთა ბაზასთან მიერთებული არ ბრძანდებით." -#: pg_dump.c:1687 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ბაზებს შორის ბმულები განხორციელებული არაა: %s" -#: pg_dump.c:2146 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "ცხრილის შემცველობის გამოტანა: \"%s.%s\"" -#: pg_dump.c:2252 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "ცხრილის (\"%s\") დამპის შეცდომა: PQgetCopyData() failed." -#: pg_dump.c:2253 pg_dump.c:2263 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "შეცდომა სერვერიდან: %s" -#: pg_dump.c:2254 pg_dump.c:2264 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "ბრძანება იყო: %s" -#: pg_dump.c:2262 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "ცხრილის (\"%s\") დამპის შეცდომა: PQgetResult() failed." -#: pg_dump.c:2344 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "ცხრილიდან \"%s\" მიღებულია ველების არასწორი რაოდენობა" -#: pg_dump.c:3042 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "ბაზის აღწერის შენახვა" -#: pg_dump.c:3151 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "ენის უცნობი მომწოდებელი: %s" -#: pg_dump.c:3512 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "კოდირების შენახვა = %s" -#: pg_dump.c:3537 +#: pg_dump.c:3562 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "შენახვა: \"standard_conforming_strings = %s\"" -#: pg_dump.c:3576 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "current_schemas() -ის შედეგის დამუშავების შეცდომა" -#: pg_dump.c:3595 +#: pg_dump.c:3620 #, c-format msgid "saving \"search_path = %s\"" msgstr "შენახვა: \"search_path = %s\"" -#: pg_dump.c:3631 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "დიდი ობიექტების კითხვა" -#: pg_dump.c:3852 +#: pg_dump.c:3877 #, c-format msgid "saving large objects \"%s\"" msgstr "მიმდინარეობს შენახვა დიდი ობიექტებისთვის \"%s\"" -#: pg_dump.c:3873 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "დიდი ობიექტის (%u) წაკითხვის შეცდომა: %s" -#: pg_dump.c:3976 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "მწკრივის დონის უსაფრთხოების წესების წაკითხვა" -#: pg_dump.c:4117 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "წესების ბრძანების მოულოდნელი ტიპი: %c" -#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18137 -#: pg_dump.c:18139 pg_dump.c:18761 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "მასივის დამუშავების შეცდომა: %s" -#: pg_dump.c:4759 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "გამოწერები დამპში არ ჩაწერილა. მიმდინარე მომხმარებელი ზემომხმარებელი არაა" -#: pg_dump.c:4965 +#: pg_dump.c:5012 #, c-format msgid "subscription with OID %u does not exist" msgstr "გამოწერა OID-ით %u არ არსებობს" -#: pg_dump.c:4972 +#: pg_dump.c:5019 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "სისწორის შემოწმების შეცდომა. ცხრილი OID-ით %u აღმოჩენილი არაა" -#: pg_dump.c:5535 +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "%s-სთვის მშობელი გაფართოება ვერ ვიპოვე %s" -#: pg_dump.c:5680 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "სქემა OID-ით %u არ არსებობს" -#: pg_dump.c:7162 pg_dump.c:17508 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "სისწორის შემოწმების შეცდომა. მშობელი ცხრილი OID-ით %u მიმდევრობიდან OID-ით %u არ არსებობს" -#: pg_dump.c:7305 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "სისწორის შემოწმების შეცდომა. pg_parttioned_table-ში მოხსენიებული ცხრილი OID-ით %u ვერ ვიპოვე" -#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 -#: pg_dump.c:9141 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "ცხრილის უცნობი OID: %u" -#: pg_dump.c:7540 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "მოულოდნელი ინდექსის მონაცემები ცხრილისთვის \"%s\"" -#: pg_dump.c:8042 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "სისწორის შემოწმების შეცდომა. მშობელი ცხრილი OID-ით %u pg_rewrite-ის ელემენტიდან OID-ით %u ვერ ვიპოვე" -#: pg_dump.c:8875 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "სვეტის მოულოდნელი მონაცემები ცხრილისთვის %s" -#: pg_dump.c:8904 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ცხრილში \"%s\" სვეტები არასწორადაა დანომრილი" -#: pg_dump.c:8955 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "ვეძებ ცხრილის ნაგულისხმევ გამოსახულებებს" -#: pg_dump.c:8997 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "adnum -ის არასწორი მნიშვნელობა %d ცხრილისთვის \"%s\"" -#: pg_dump.c:9091 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "ვეძებ ცხრილის შემოწმების შეზღუდვებს" -#: pg_dump.c:9145 +#: pg_dump.c:9192 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "მოველოდი %d შემოწმების შეზღუდვას ცხრილზე \"%s\", მაგრამ %d" msgstr[1] "მოველოდი %d შემოწმების შეზღუდვას ცხრილზე \"%s\", მაგრამ %d" -#: pg_dump.c:9149 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "სისტემის კატალოგი შეიძლება დაზიანებულია." -#: pg_dump.c:9839 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "როლი OID-ით %u არ არსებობს" -#: pg_dump.c:9951 pg_dump.c:9980 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "pg_init_privs -ის არასწორი ჩანაწერი: %u %u %d" -#: pg_dump.c:10527 +#: pg_dump.c:10574 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "აკლია მეტამონაცემები დიდი ობიექტებისთვის \"%s\"" -#: pg_dump.c:10810 +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "მონაცემის ტიპი %s-ის typetype თურმე არასორია" -#: pg_dump.c:12384 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "უცნობი provolatile მნიშვნელობა ფუნქციისთვის \"%s\"" -#: pg_dump.c:12434 pg_dump.c:14330 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "უცნობი proparallel მნიშვნელობა ფუნქციისთვის \"%s\"" -#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "ფუნქციის აღწერა ფუნქციისთვის OID-ით %u ვერ ვიპოვე" -#: pg_dump.c:12603 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "pg_cast.castfunc ან pg_cast.castmethod ველების არასწორი მნიშვნელობა" -#: pg_dump.c:12606 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "pg_cast.castmethod ველის არასწორი მნიშვნელობა" -#: pg_dump.c:12696 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "არასწორი გარდაქმნის აღწერა. ერთ-ერთი, trffromsql ან trftosql ნულს არ უნდა უდრიდეს" -#: pg_dump.c:12713 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "pg_transform.trffromsql ველის არასწორი მნიშვნელობა" -#: pg_dump.c:12734 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "pg_transform.trftosql ველის არასწორი მნიშვნელობა" -#: pg_dump.c:12879 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "postfix ოპერატორები მხარდაჭერილი აღარაა (ოპერატორი \"%s\")" -#: pg_dump.c:13049 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "ოპერატორი OID-ით %s არ არსებობს" -#: pg_dump.c:13117 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "წვდომის მეთოდის (%2$s) არასწორი ტიპი: %1$c" -#: pg_dump.c:13791 pg_dump.c:13859 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "კოლაციის უცნობი მომწოდებელი: %s" -#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 -#: pg_dump.c:13843 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "არასწორი კოლაცია \"%s\"" -#: pg_dump.c:14249 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "აგრეგატის (%s) aggfinalmodify -ის უცნობი ტიპი" -#: pg_dump.c:14305 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "აგრეგატის (%s) aggmfinalmodify -ის უცნობი ტიპი" -#: pg_dump.c:15022 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "ნაგულისხმევ პრივილეგიებში არსებული ობიექტის უცნობი ტიპი: %d" -#: pg_dump.c:15038 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "ნაგულიხმები ACL სიის ანალიზი შეუძლებელია: %s" -#: pg_dump.c:15122 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "საწყისი ACL სიის (%s) დამუშავების შეცდომა ან ნაგულისხმევი (%s) ობიექტისთვის \"%s\" (%s)" -#: pg_dump.c:15147 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "შეცდომა ACL სიის (%s) დამუშავებისას ან ნაგულისხმევი (%s) ობიექტისთვის \"%s\" (%s)" -#: pg_dump.c:15690 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "ხედის (%s) აღწერის გამოთხოვამ მონაცემები არ დააბრუნა" -#: pg_dump.c:15693 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "ხედის (%s) აღწერის გამოთხოვამ ერთზე მეტი აღწერა დააბრუნა" -#: pg_dump.c:15700 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "ხედის (%s) აღწერა, როგორც ჩანს, ცარიელია (ნულოვანი სიგრძე)" -#: pg_dump.c:15784 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS-ები უკვე მხარდაუჭერელია (ცხრილი \"%s\")" -#: pg_dump.c:16710 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "სვეტების არასწორი რიცხვი %d ცხრილისთვის %s" -#: pg_dump.c:16788 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "ინდექსის სტატისტიკის სვეტების დამუშავების შეცდომა" -#: pg_dump.c:16790 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "ინდექსის სტატისტიკის მნიშვნელობების დამუშავების შეცდომა" -#: pg_dump.c:16792 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "ინდექსის სტატისტიკისთვის სვეტებისა და მნიშვნელობების რაოდენობა არ ემთხვევა" -#: pg_dump.c:17007 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "შეზღუდვას ინდექსი აკლია: \"%s\"" -#: pg_dump.c:17242 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "შეზღუდვის უცნობი ტიპი: %c" -#: pg_dump.c:17343 pg_dump.c:17572 +#: pg_dump.c:17452 pg_dump.c:17681 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "მოთხოვნამ, რომელსაც მონაცემები მიმდევრობიდან (%s) უნდა მიეღო, %d მწკრივი დააბრუნა. (მოველოდი: 1)" msgstr[1] "მოთხოვნამ, რომელსაც მონაცემები მიმდევრობიდან (%s) უნდა მიეღო, %d მწკრივი დააბრუნა. (მოველოდი: 1)" -#: pg_dump.c:17375 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "მიმდევრობის უცნობი ტიპი: %s" -#: pg_dump.c:17889 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "მოთხოვნის შეცდომა, რომელსაც ცხრილისთვის \"%2$s\" წესი \"%1$s\" უნდა მიეღო: დაბრუნებულია მწკრივების არასწორი რაოდენობა" -#: pg_dump.c:18042 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "მიბმული გაფართოება (%u) ვერ ვიპოვე" -#: pg_dump.c:18141 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "კონფიგურაციებისა და პირობების რაოდენობა გაფართოებისთვის არ ემთხვევა" -#: pg_dump.c:18273 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "დამოკიდებულების მონაცემების კითხვა" -#: pg_dump.c:18359 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "მიბმადი ობიექტის გარეშე %u %u" -#: pg_dump.c:18370 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "მიბმული ობიექტის გარეშე %u %u" -#: pg_dump.c:18795 pg_dump.c:18833 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 #, c-format msgid "%s filter for \"%s\" is not allowed" @@ -2588,7 +2588,7 @@ msgstr " --exclude-database=PATTERN გამორიცხავს ბა #: pg_dumpall.c:661 #, c-format -msgid " --filter=FILENAME exclude databases specified in FILENAME\n" +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" msgstr " --filter=FILENAME ფაილში მითითებული მონაცემთა ბაზების ამოღება\n" #: pg_dumpall.c:667 diff --git a/src/bin/pg_dump/po/sv.po b/src/bin/pg_dump/po/sv.po index b7095ab8a57e5..8fbe8b3636b56 100644 --- a/src/bin/pg_dump/po/sv.po +++ b/src/bin/pg_dump/po/sv.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-13 15:52+0000\n" -"PO-Revision-Date: 2024-07-13 23:54+0200\n" +"POT-Creation-Date: 2024-08-27 15:52+0000\n" +"PO-Revision-Date: 2024-08-27 18:32+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -822,7 +822,7 @@ msgstr "återställer stort objekt med OID %u" msgid "could not create large object %u: %s" msgstr "kunde inte skapa stort objekt %u: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3863 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "kunde inte öppna stort objekt %u: %s" @@ -973,12 +973,12 @@ msgstr "kunde inte öppna stdout för append: %m" msgid "unrecognized file format \"%d\"" msgstr "känner inte igen filformat \"%d\"" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4625 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "klar med objekt %d %s %s" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4638 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "arbetsprocess misslyckades: felkod %d" @@ -1063,72 +1063,72 @@ msgstr "kunde inte ändra tabellaccessmetod: %s" msgid "don't know how to set owner for object type \"%s\"" msgstr "vet inte hur man sätter ägare för objekttyp \"%s\"" -#: pg_backup_archiver.c:3982 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "kunde inte hitta den magiska strängen i filhuvudet" -#: pg_backup_archiver.c:3996 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "ej supportad version (%d.%d) i filhuvudet" -#: pg_backup_archiver.c:4001 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "riktighetskontroll på heltalsstorlek (%lu) misslyckades" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "arkivet skapades på en maskin med större heltal, en del operationer kan misslyckas" -#: pg_backup_archiver.c:4015 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "förväntat format (%d) skiljer sig från formatet som fanns i filen (%d)" -#: pg_backup_archiver.c:4037 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "arkivet är komprimerat, men denna installation stödjer inte komprimering (%s) -- ingen data kommer kunna läsas" -#: pg_backup_archiver.c:4073 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "ogiltig skapandedatum i huvud" -#: pg_backup_archiver.c:4207 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "processar objekt %d %s %s" -#: pg_backup_archiver.c:4292 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "går in i parallella huvudloopen" -#: pg_backup_archiver.c:4303 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "hoppar över objekt %d %s %s" -#: pg_backup_archiver.c:4312 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "startar objekt %d %s %s" -#: pg_backup_archiver.c:4366 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "klar med parallella huvudloopen" -#: pg_backup_archiver.c:4402 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "processar saknat objekt %d %s %s" -#: pg_backup_archiver.c:4944 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "tabell \"%s\" kunde inte skapas, dess data kommer ej återställas" @@ -1244,7 +1244,7 @@ msgstr "kunde inte ansluta till databasen" msgid "reconnection failed: %s" msgstr "återanslutning misslyckades: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:788 pg_dump_sort.c:1213 #: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788 #, c-format msgid "%s" @@ -1291,7 +1291,7 @@ msgstr "fel returnerat av PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY misslyckades för tabell \"%s\": %s" -#: pg_backup_db.c:521 pg_dump.c:2271 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "oväntade extraresultat under kopiering (COPY) av tabell \"%s\"" @@ -1463,7 +1463,7 @@ msgstr "trasigt tar-huvud hittat i %s (förväntade %d, beräknad %d) filpositio msgid "unrecognized section name: \"%s\"" msgstr "okänt sektionsnamn: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370 +#: pg_backup_utils.c:55 pg_dump.c:694 pg_dump.c:711 pg_dumpall.c:370 #: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403 #: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323 #: pg_restore.c:337 @@ -1476,82 +1476,82 @@ msgstr "Försök med \"%s --help\" för mer information." msgid "out of on_exit_nicely slots" msgstr "slut på on_exit_nicely-slottar" -#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_dump.c:727 pg_restore.c:344 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "flaggorna \"bara schema\" (-s) och \"bara data\" (-a) kan inte användas tillsammans" -#: pg_dump.c:730 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "flaggorna -s/--schema-only och --include-foreign-data kan inte användas tillsammans" -#: pg_dump.c:733 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "flaggan --include-foreign-data stöds inte med parallell backup" -#: pg_dump.c:736 pg_restore.c:347 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "flaggorna \"nollställ\" (-c) och \"bara data\" (-a) kan inte användas tillsammans" -#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "flaggan --if-exists kräver flaggan -c/--clean" -#: pg_dump.c:746 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "flagga --on-conflict-do-nothing kräver --inserts, --rows-per-insert eller --column-inserts" -#: pg_dump.c:775 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "okänd komprimeringsalgoritm: \"%s\"" -#: pg_dump.c:782 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "ogiltig inställning för komprimering: %s" -#: pg_dump.c:795 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "komprimeringsflaggan \"%s\" stöds inte än av pg_dump" -#: pg_dump.c:807 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "parallell backup stöds bara med katalogformat" -#: pg_dump.c:853 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "sista inbyggda OID är %u" -#: pg_dump.c:862 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "hittade inga matchande scheman" -#: pg_dump.c:879 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "hittade inga matchande tabeller" -#: pg_dump.c:907 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "hittade inga matchande utökningar" -#: pg_dump.c:1091 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1560,17 +1560,17 @@ msgstr "" "%s dumpar en databas som en textfil eller i andra format.\n" "\n" -#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_dump.c:1093 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [FLAGGA]... [DBNAMN]\n" -#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1579,12 +1579,12 @@ msgstr "" "\n" "Allmänna flaggor:\n" -#: pg_dump.c:1096 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME fil eller katalognamn för utdata\n" -#: pg_dump.c:1097 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1593,22 +1593,22 @@ msgstr "" " -F, --format=c|d|t|p utdatans filformat (egen (c), katalog (d), tar (t),\n" " ren text (p) (standard))\n" -#: pg_dump.c:1099 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM använd så här många parellella job för att dumpa\n" -#: pg_dump.c:1100 pg_dumpall.c:640 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose visa mer information\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_dump.c:1102 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1617,27 +1617,27 @@ msgstr "" " -Z, --compress=METOD[:DETALJ]\n" " komprimera som angivet\n" -#: pg_dump.c:1104 pg_dumpall.c:642 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=TIMEOUT misslyckas efter att ha väntat i TIMEOUT på tabellås\n" -#: pg_dump.c:1105 pg_dumpall.c:670 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync vänta inte på att ändingar säkert skrivits till disk\n" -#: pg_dump.c:1106 +#: pg_dump.c:1107 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" -#: pg_dump.c:1107 pg_dumpall.c:643 +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_dump.c:1109 pg_dumpall.c:644 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1646,62 +1646,62 @@ msgstr "" "\n" "Flaggor som styr utmatning:\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only dumpa bara data, inte schema\n" -#: pg_dump.c:1111 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects inkludera stora objekt i dumpen\n" -#: pg_dump.c:1112 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (samma som --large-objects, obsolet)\n" -#: pg_dump.c:1113 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects exkludera stora objekt i dumpen\n" -#: pg_dump.c:1114 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (samma som --no-large-objects, obsolet)\n" -#: pg_dump.c:1115 pg_restore.c:466 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean nollställ (drop) databasobjekt innan återskapande\n" -#: pg_dump.c:1116 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create inkludera kommandon för att skapa databasen i dumpen\n" -#: pg_dump.c:1117 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=MALL dumpa bara de angivna utökningarna\n" -#: pg_dump.c:1118 pg_dumpall.c:647 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=KODNING dumpa data i teckenkodning KODNING\n" -#: pg_dump.c:1119 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=MALL dumpa bara de angivna scheman\n" -#: pg_dump.c:1120 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=MALL dumpa INTE de angivna scheman\n" -#: pg_dump.c:1121 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1710,52 +1710,52 @@ msgstr "" " -O, --no-owner hoppa över återställande av objektägare i\n" " textformatdumpar\n" -#: pg_dump.c:1123 pg_dumpall.c:651 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only dumpa bara scheman, inte data\n" -#: pg_dump.c:1124 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME namn på superuser för textformatdumpar\n" -#: pg_dump.c:1125 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=MALL dumpa bara de angivna tabellerna\n" -#: pg_dump.c:1126 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=MALL dumpa INTE de angivna tabellerna\n" -#: pg_dump.c:1127 pg_dumpall.c:654 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges dumpa inte rättigheter (grant/revoke)\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade används bara av uppgraderingsverktyg\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts dumpa data som INSERT med kolumnnamn\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting slå av dollar-citering, använd standard SQL-citering\n" -#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers slå av triggrar vid återställning av enbart data\n" -#: pg_dump.c:1132 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1764,12 +1764,12 @@ msgstr "" " --enable-row-security slå på radsäkerhet (dumpa bara data användaren\n" " har rätt till)\n" -#: pg_dump.c:1134 +#: pg_dump.c:1135 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=MALL dumpa INTE de angivna utökningarna\n" -#: pg_dump.c:1135 +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1780,12 +1780,12 @@ msgstr "" " dumpa INTE angivna tabeller, inklusive\n" " barn och partitionstabeller\n" -#: pg_dump.c:1138 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=MALL dumpa INTE data för de angivna tabellerna\n" -#: pg_dump.c:1139 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1796,12 +1796,12 @@ msgstr "" " dumpa INTE data för angivna tabeller,\n" " inklusive barn och partitionstabeller\n" -#: pg_dump.c:1142 pg_dumpall.c:660 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=NUM övertrumfa standardinställningen för extra_float_digits\n" -#: pg_dump.c:1143 +#: pg_dump.c:1144 #, c-format msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" @@ -1811,12 +1811,12 @@ msgstr "" " från dump baserat på uttryck i FILNAMN\n" "\n" -#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists använd IF EXISTS när objekt droppas\n" -#: pg_dump.c:1146 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1827,87 +1827,87 @@ msgstr "" " inkludera data i främmande tabeller från\n" " främmande servrar som matchar MALL\n" -#: pg_dump.c:1149 pg_dumpall.c:663 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts dumpa data som INSERT, istället för COPY\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root ladda partitioner via root-tabellen\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments dumpa inte kommentarer\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications dumpa inte publiceringar\n" -#: pg_dump.c:1153 pg_dumpall.c:668 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels dumpa inte tilldelning av säkerhetsetiketter\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions dumpa inte prenumereringar\n" -#: pg_dump.c:1155 pg_dumpall.c:671 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method dumpa inte tabellaccessmetoder\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces dumpa inte användning av tabellutymmen\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression dumpa inte komprimeringsmetoder för TOAST\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data dumpa inte ologgad tabelldata\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing addera ON CONFLICT DO NOTHING till INSERT-kommandon\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers citera alla identifierar, även om de inte är nyckelord\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NRADER antal rader per INSERT; implicerar --inserts\n" -#: pg_dump.c:1162 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr " --section=SEKTION dumpa namngiven sektion (pre-data, data eller post-data)\n" -#: pg_dump.c:1163 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable wait until the dump can run without anomalies\n" -#: pg_dump.c:1164 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT använda namngivet snapshot för att dumpa\n" -#: pg_dump.c:1165 pg_restore.c:497 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1916,7 +1916,7 @@ msgstr "" " --strict-names kräv att mallar för tabeller och/eller scheman matchar\n" " minst en sak var\n" -#: pg_dump.c:1167 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1925,7 +1925,7 @@ msgstr "" " --table-and-children=MALL dumpa bara angivna tabell(er), inklusive\n" " barn och partitionstabeller\n" -#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1936,7 +1936,7 @@ msgstr "" " använd kommandot SET SESSION AUTHORIZATION istället för\n" " kommandot ALTER OWNER för att sätta ägare\n" -#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1945,42 +1945,42 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: pg_dump.c:1174 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAMN databasens som skall dumpas\n" -#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller socketkatalog\n" -#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT databasens värdport\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAMN anslut med datta användarnamn mot databasen\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga aldrig efter lösenord\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password fråga om lösenord (borde ske automatiskt)\n" -#: pg_dump.c:1180 pg_dumpall.c:690 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLLNAMN gör SET ROLE innan dumpen\n" -#: pg_dump.c:1182 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1993,459 +1993,459 @@ msgstr "" "PGDATABASE att användas.\n" "\n" -#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapportera fel till <%s>.\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_dump.c:1204 pg_dumpall.c:518 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "ogiltig klientteckenkodning \"%s\" angiven" -#: pg_dump.c:1344 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "parallella dumpar från standby-server stöds inte av denna serverversion" -#: pg_dump.c:1409 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "ogiltigt utdataformat \"%s\" angivet" -#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ej korrekt kvalificerat namn (för många namn med punkt): %s" -#: pg_dump.c:1458 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "hittade inga matchande scheman för mallen \"%s\"" -#: pg_dump.c:1511 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "hittade inga matchande utökningar för mallen \"%s\"" -#: pg_dump.c:1564 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "hittade inga matchande främmande servrar för mallen \"%s\"" -#: pg_dump.c:1635 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ej korrekt relationsnamn (för många namn med punkt): %s" -#: pg_dump.c:1657 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "hittade inga matchande tabeller för mallen \"%s\"" -#: pg_dump.c:1684 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "Du är för närvarande inte uppkopplad mot en databas." -#: pg_dump.c:1687 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "referenser till andra databaser är inte implementerat: %s" -#: pg_dump.c:2146 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "dumpar innehållet i tabell \"%s.%s\"" -#: pg_dump.c:2252 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Dumpning av innehållet i tabellen \"%s\" misslyckades: PQendcopy() misslyckades." -#: pg_dump.c:2253 pg_dump.c:2263 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Felmeddelandet från servern: %s" -#: pg_dump.c:2254 pg_dump.c:2264 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "Kommandot var: %s" -#: pg_dump.c:2262 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Dumpning av innehållet i tabellen \"%s\" misslyckades: PQgetResult() misslyckades." -#: pg_dump.c:2344 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "fel antal fält hämtades för tabell \"%s\"" -#: pg_dump.c:3042 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "sparar databasdefinition" -#: pg_dump.c:3151 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "okänd lokalleverantör: %s" -#: pg_dump.c:3512 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "sparar kodning = %s" -#: pg_dump.c:3537 +#: pg_dump.c:3562 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "sparar \"standard_conforming_strings = %s\"" -#: pg_dump.c:3576 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "kunde inte parsa resultat från current_schemas()" -#: pg_dump.c:3595 +#: pg_dump.c:3620 #, c-format msgid "saving \"search_path = %s\"" msgstr "sparar \"search_path = %s\"" -#: pg_dump.c:3631 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "läser stora objekt" -#: pg_dump.c:3852 +#: pg_dump.c:3877 #, c-format msgid "saving large objects \"%s\"" msgstr "sparar stora objekt \"%s\"" -#: pg_dump.c:3873 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "fel vid läsning av stort objekt %u: %s" -#: pg_dump.c:3976 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "läser säkerhetspolicy på radnivå" -#: pg_dump.c:4117 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "oväntad kommandotyp för policy: %c" -#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18137 -#: pg_dump.c:18139 pg_dump.c:18761 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "kunde inte parsa arrayen %s" -#: pg_dump.c:4759 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "prenumerationer har inte dumpats få aktuell användare inte är en superuser" -#: pg_dump.c:4965 +#: pg_dump.c:5012 #, c-format msgid "subscription with OID %u does not exist" msgstr "prenumeration med OID %u existerar inte" -#: pg_dump.c:4972 +#: pg_dump.c:5019 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "misslyckades med riktighetskontroll, hittade inte tabell med OID %u" -#: pg_dump.c:5535 +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "kunde inte hitta föräldrautökning för %s %s" -#: pg_dump.c:5680 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "schema med OID %u existerar inte" -#: pg_dump.c:7162 pg_dump.c:17508 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "misslyckades med riktighetskontroll, föräldratabell med OID %u för sekvens med OID %u hittas inte" -#: pg_dump.c:7305 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "misslyckades med riktighetskontroll, hittade inte tabell med OID %u i pg_partitioned_table" -#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 -#: pg_dump.c:9141 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "okänt tabell-OID %u" -#: pg_dump.c:7540 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "oväntat indexdata för tabell \"%s\"" -#: pg_dump.c:8042 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "misslyckades med riktighetskontroll, föräldratabell med OID %u för pg_rewrite-rad med OID %u hittades inte" -#: pg_dump.c:8875 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "oväntad kolumndata för tabell \"%s\"" -#: pg_dump.c:8904 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ogiltigt kolumnnumrering i tabell \"%s\"" -#: pg_dump.c:8955 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "hittar tabellers default-uttryck" -#: pg_dump.c:8997 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "felaktigt adnum-värde %d för tabell \"%s\"" -#: pg_dump.c:9091 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "hittar tabellers check-villkor" -#: pg_dump.c:9145 +#: pg_dump.c:9192 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "förväntade %d check-villkor för tabell \"%s\" men hittade %d" msgstr[1] "förväntade %d check-villkor för tabell \"%s\" men hittade %d" -#: pg_dump.c:9149 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Systemkatalogerna kan vara trasiga." -#: pg_dump.c:9839 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "roll med OID %u existerar inte" -#: pg_dump.c:9951 pg_dump.c:9980 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "ogiltig pg_init_privs-post: %u %u %d" -#: pg_dump.c:10527 +#: pg_dump.c:10574 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "saknar metadata för stort objekt \"%s\"" -#: pg_dump.c:10810 +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype för datatyp \"%s\" verkar vara ogiltig" -#: pg_dump.c:12384 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "okänt provolatile-värde för funktion \"%s\"" -#: pg_dump.c:12434 pg_dump.c:14330 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "okänt proparallel-värde för funktion \"%s\"" -#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "kunde inte hitta funktionsdefinitionen för funktion med OID %u" -#: pg_dump.c:12603 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "felaktigt värde i fältet pg_cast.castfunc eller pg_cast.castmethod" -#: pg_dump.c:12606 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "felaktigt värde i fältet pg_cast.castmethod" -#: pg_dump.c:12696 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "felaktig transform-definition, minst en av trffromsql och trftosql måste vara ickenoll" -#: pg_dump.c:12713 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "felaktigt värde i fältet pg_transform.trffromsql" -#: pg_dump.c:12734 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "felaktigt värde i fältet pg_transform.trftosql" -#: pg_dump.c:12879 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "postfix-operatorer stöds inte längre (operator \"%s\")" -#: pg_dump.c:13049 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "kunde inte hitta en operator med OID %s." -#: pg_dump.c:13117 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "ogiltig typ \"%c\" för accessmetod \"%s\"" -#: pg_dump.c:13791 pg_dump.c:13859 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "okänd jämförelseleverantör: %s" -#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 -#: pg_dump.c:13843 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "ogiltig jämförelse \"%s\"" -#: pg_dump.c:14249 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "okänt aggfinalmodify-värde för aggregat \"%s\"" -#: pg_dump.c:14305 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "okänt aggmfinalmodify-värde för aggregat \"%s\"" -#: pg_dump.c:15022 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "okänd objekttyp i standardrättigheter: %d" -#: pg_dump.c:15038 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "kunde inte parsa standard-ACL-lista (%s)" -#: pg_dump.c:15122 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "kunde inte parsa initial ACL-lista (%s) eller default (%s) för objekt \"%s\" (%s)" -#: pg_dump.c:15147 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "kunde inte parsa ACL-lista (%s) eller default (%s) för objekt \"%s\" (%s)" -#: pg_dump.c:15690 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "fråga för att hämta definition av vy \"%s\" returnerade ingen data" -#: pg_dump.c:15693 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "fråga för att hämta definition av vy \"%s\" returnerade mer än en definition" -#: pg_dump.c:15700 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "definition av vy \"%s\" verkar vara tom (längd noll)" -#: pg_dump.c:15784 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS stöds inte längre (tabell \"%s\")" -#: pg_dump.c:16710 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "ogiltigt kolumnnummer %d för tabell \"%s\"" -#: pg_dump.c:16788 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "kunde inte parsa kolumn i indexstatistik" -#: pg_dump.c:16790 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "kunde inte parsa värden i indexstatistik" -#: pg_dump.c:16792 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "antal kolumner och värden stämmer inte i indexstatistik" -#: pg_dump.c:17007 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "saknar index för integritetsvillkor \"%s\"" -#: pg_dump.c:17242 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "oväntad integritetsvillkorstyp: %c" -#: pg_dump.c:17343 pg_dump.c:17572 +#: pg_dump.c:17452 pg_dump.c:17681 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "fråga för att hämta data för sekvens \"%s\" returnerade %d rad (förväntade 1)" msgstr[1] "fråga för att hämta data för sekvens \"%s\" returnerade %d rader (förväntade 1)" -#: pg_dump.c:17375 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "okänd sekvenstyp: %s" -#: pg_dump.c:17889 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "fråga för att hämta regel \"%s\" för tabell \"%s\" misslyckades: fel antal rader returnerades" -#: pg_dump.c:18042 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "kunde inte hitta refererad utökning %u" -#: pg_dump.c:18141 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "antal konfigurationer och villkor stämmer inte för utökning" -#: pg_dump.c:18273 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "läser beroendedata" -#: pg_dump.c:18359 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "inget refererande objekt %u %u" -#: pg_dump.c:18370 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "inget refererat objekt %u %u" -#: pg_dump.c:18795 pg_dump.c:18833 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 #, c-format msgid "%s filter for \"%s\" is not allowed" @@ -2588,8 +2588,8 @@ msgstr " --exclude-database=MALL uteslut databaser vars namn matchar MALL\ #: pg_dumpall.c:661 #, c-format -msgid " --filter=FILENAME exclude databases specified in FILENAME\n" -msgstr " --filter=FILENAMN exkludera databaser angivna i FILENAMN\n" +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr " --filter=FILENAMN exkludera databaser givet uttryck i FILENAMN\n" #: pg_dumpall.c:667 #, c-format diff --git a/src/bin/pg_resetwal/po/fr.po b/src/bin/pg_resetwal/po/fr.po index 9c02948062513..45a73bf4ea933 100644 --- a/src/bin/pg_resetwal/po/fr.po +++ b/src/bin/pg_resetwal/po/fr.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-05 17:20+0000\n" -"PO-Revision-Date: 2023-09-05 22:02+0200\n" +"POT-Creation-Date: 2024-08-22 10:21+0000\n" +"PO-Revision-Date: 2024-08-23 11:15+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -43,6 +43,107 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/controldata_utils.c:170 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 +#: ../../common/file_utils.c:347 ../../common/file_utils.c:406 +#: ../../common/file_utils.c:480 pg_resetwal.c:1134 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" @@ -73,166 +174,168 @@ msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:163 pg_resetwal.c:176 pg_resetwal.c:189 pg_resetwal.c:202 -#: pg_resetwal.c:209 pg_resetwal.c:228 pg_resetwal.c:241 pg_resetwal.c:249 -#: pg_resetwal.c:269 pg_resetwal.c:280 +#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 +#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 +#: pg_resetwal.c:270 pg_resetwal.c:281 #, c-format msgid "invalid argument for option %s" msgstr "argument invalide pour l'option %s" -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 pg_resetwal.c:303 pg_resetwal.c:316 -#: pg_resetwal.c:323 +#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204 +#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251 +#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320 +#: pg_resetwal.c:327 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_resetwal.c:168 +#: pg_resetwal.c:169 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "la valeur epoch de l'identifiant de transaction (-e) ne doit pas être -1" -#: pg_resetwal.c:181 +#: pg_resetwal.c:182 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "l'identifiant de transaction le plus ancien (-u) doit être supérieur ou égal à %u" -#: pg_resetwal.c:194 +#: pg_resetwal.c:195 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "l'identifiant de transaction (-x) doit être supérieur ou égal à %u" -#: pg_resetwal.c:216 pg_resetwal.c:220 +#: pg_resetwal.c:217 pg_resetwal.c:221 #, c-format -msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" -msgstr "l'identifiant de transaction (-c) doit être 0 ou supérieur ou égal à 2" +msgid "transaction ID (-c) must be either %u or greater than or equal to %u" +msgstr "l'identifiant de transaction (-c) doit être %u ou supérieur ou égal à %u" -#: pg_resetwal.c:233 +#: pg_resetwal.c:234 #, c-format msgid "OID (-o) must not be 0" msgstr "l'OID (-o) ne doit pas être 0" -#: pg_resetwal.c:254 +#: pg_resetwal.c:255 #, c-format msgid "multitransaction ID (-m) must not be 0" msgstr "l'identifiant de multi-transaction (-m) ne doit pas être 0" -#: pg_resetwal.c:261 +#: pg_resetwal.c:262 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "l'identifiant de multi-transaction le plus ancien (-m) ne doit pas être 0" -#: pg_resetwal.c:274 +#: pg_resetwal.c:275 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "le décalage de multi-transaction (-O) ne doit pas être -1" -#: pg_resetwal.c:296 -#, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "l'argument de --wal-segsize doit être un nombre" - -#: pg_resetwal.c:298 +#: pg_resetwal.c:301 #, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "l'argument de --wal-segsize doit être une puissance de 2 comprise entre 1 et 1024" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "l'argument de %s doit être une puissance de 2 comprise entre 1 et 1024" -#: pg_resetwal.c:314 +#: pg_resetwal.c:318 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_resetwal.c:322 +#: pg_resetwal.c:326 #, c-format msgid "no data directory specified" msgstr "aucun répertoire de données indiqué" -#: pg_resetwal.c:336 +#: pg_resetwal.c:340 #, c-format msgid "cannot be executed by \"root\"" msgstr "ne peut pas être exécuté par « root »" -#: pg_resetwal.c:337 +#: pg_resetwal.c:341 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL." -#: pg_resetwal.c:347 +#: pg_resetwal.c:351 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "n'a pas pu lire les droits du répertoire « %s » : %m" -#: pg_resetwal.c:353 +#: pg_resetwal.c:357 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "n'a pas pu modifier le répertoire par « %s » : %m" -#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" - -#: pg_resetwal.c:371 +#: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" msgstr "le fichier verrou « %s » existe" -#: pg_resetwal.c:372 +#: pg_resetwal.c:376 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "Le serveur est-il démarré ? Sinon, supprimer le fichier verrou et réessayer." -#: pg_resetwal.c:467 +#: pg_resetwal.c:475 #, c-format -msgid "" -"\n" -"If these values seem acceptable, use -f to force reset.\n" -msgstr "" -"\n" -"Si ces valeurs semblent acceptables, utiliser -f pour forcer la\n" -"réinitialisation.\n" +msgid "not proceeding because control file values were guessed" +msgstr "ne continue pas car les valeurs du fichier de contrôle devraient être devinées" -#: pg_resetwal.c:479 +#: pg_resetwal.c:476 #, c-format -msgid "" -"The database server was not shut down cleanly.\n" -"Resetting the write-ahead log might cause data to be lost.\n" -"If you want to proceed anyway, use -f to force reset.\n" -msgstr "" -"Le serveur de bases de données n'a pas été arrêté proprement.\n" -"Ré-initialiser le journal des transactions peut occasionner des pertes de\n" -"données.\n" -"Pour continuer malgré tout, utiliser -f pour forcer la\n" -"réinitialisation.\n" +msgid "If these values seem acceptable, use -f to force reset." +msgstr "Si ces valeurs semblent acceptables, utiliser -f pour forcer la réinitialisation." -#: pg_resetwal.c:493 +#: pg_resetwal.c:485 +#, c-format +msgid "database server was not shut down cleanly" +msgstr "le serveur de bases de données n'a pas été arrêté proprement" + +#: pg_resetwal.c:486 +#, c-format +msgid "Resetting the write-ahead log might cause data to be lost." +msgstr "Réinitialiser les journaux de transactions pourrait causer des pertes de données." + +#: pg_resetwal.c:487 +#, c-format +msgid "If you want to proceed anyway, use -f to force reset." +msgstr "Si vous voulez continuer malgré tout, utiliser -f pour forcer la réinitialisation." + +#: pg_resetwal.c:500 #, c-format msgid "Write-ahead log reset\n" msgstr "Réinitialisation des journaux de transactions\n" -#: pg_resetwal.c:525 +#: pg_resetwal.c:532 #, c-format msgid "unexpected empty file \"%s\"" msgstr "fichier vide inattendu « %s »" -#: pg_resetwal.c:527 pg_resetwal.c:581 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - -#: pg_resetwal.c:535 +#: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" msgstr "le répertoire des données a une mauvaise version" -#: pg_resetwal.c:536 +#: pg_resetwal.c:543 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "Le fichier « %s » contient « %s », qui n'est pas compatible avec la version « %s » de ce programme." -#: pg_resetwal.c:569 +#: pg_resetwal.c:576 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -243,24 +346,24 @@ msgstr "" " touch %s\n" "et réessayer." -#: pg_resetwal.c:597 +#: pg_resetwal.c:604 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control existe mais son CRC est invalide ; agir avec précaution" -#: pg_resetwal.c:606 +#: pg_resetwal.c:613 #, c-format msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" msgstr[0] "pg_control spécifie une taille invalide de segment WAL (%d octet) ; agir avec précaution" msgstr[1] "pg_control spécifie une taille invalide de segment WAL (%d octets) ; agir avec précaution" -#: pg_resetwal.c:617 +#: pg_resetwal.c:624 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control existe mais est corrompu ou de mauvaise version ; ignoré" -#: pg_resetwal.c:712 +#: pg_resetwal.c:719 #, c-format msgid "" "Guessed pg_control values:\n" @@ -269,7 +372,7 @@ msgstr "" "Valeurs de pg_control devinées :\n" "\n" -#: pg_resetwal.c:714 +#: pg_resetwal.c:721 #, c-format msgid "" "Current pg_control values:\n" @@ -278,167 +381,167 @@ msgstr "" "Valeurs actuelles de pg_control :\n" "\n" -#: pg_resetwal.c:716 +#: pg_resetwal.c:723 #, c-format msgid "pg_control version number: %u\n" msgstr "Numéro de version de pg_control : %u\n" -#: pg_resetwal.c:718 +#: pg_resetwal.c:725 #, c-format msgid "Catalog version number: %u\n" msgstr "Numéro de version du catalogue : %u\n" -#: pg_resetwal.c:720 +#: pg_resetwal.c:727 #, c-format msgid "Database system identifier: %llu\n" msgstr "Identifiant du système de base de données : %llu\n" -#: pg_resetwal.c:722 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Dernier TimeLineID du point de contrôle : %u\n" -#: pg_resetwal.c:724 +#: pg_resetwal.c:731 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Dernier full_page_writes du point de contrôle : %s\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "off" msgstr "désactivé" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "on" msgstr "activé" -#: pg_resetwal.c:726 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "Dernier NextXID du point de contrôle : %u:%u\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "Dernier NextOID du point de contrôle : %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "Dernier NextMultiXactId du point de contrôle : %u\n" -#: pg_resetwal.c:733 +#: pg_resetwal.c:740 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "Dernier NextMultiOffset du point de contrôle : %u\n" -#: pg_resetwal.c:735 +#: pg_resetwal.c:742 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "Dernier oldestXID du point de contrôle : %u\n" -#: pg_resetwal.c:737 +#: pg_resetwal.c:744 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "Dernier oldestXID du point de contrôle de la base : %u\n" -#: pg_resetwal.c:739 +#: pg_resetwal.c:746 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "Dernier oldestActiveXID du point de contrôle : %u\n" -#: pg_resetwal.c:741 +#: pg_resetwal.c:748 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "Dernier oldestMultiXid du point de contrôle : %u\n" -#: pg_resetwal.c:743 +#: pg_resetwal.c:750 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "Dernier oldestMulti du point de contrôle de la base : %u\n" -#: pg_resetwal.c:745 +#: pg_resetwal.c:752 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "Dernier oldestCommitTsXid du point de contrôle : %u\n" -#: pg_resetwal.c:747 +#: pg_resetwal.c:754 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "Dernier newestCommitTsXid du point de contrôle : %u\n" -#: pg_resetwal.c:749 +#: pg_resetwal.c:756 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Alignement maximal des données : %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Database block size: %u\n" msgstr "Taille du bloc de la base de données : %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Blocs par segment des relations volumineuses : %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:763 #, c-format msgid "WAL block size: %u\n" msgstr "Taille de bloc du journal de transaction : %u\n" -#: pg_resetwal.c:758 pg_resetwal.c:844 +#: pg_resetwal.c:765 pg_resetwal.c:851 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Octets par segment du journal de transaction : %u\n" -#: pg_resetwal.c:760 +#: pg_resetwal.c:767 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Longueur maximale des identifiants : %u\n" -#: pg_resetwal.c:762 +#: pg_resetwal.c:769 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Nombre maximum de colonnes d'un index: %u\n" -#: pg_resetwal.c:764 +#: pg_resetwal.c:771 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Longueur maximale d'un morceau TOAST : %u\n" -#: pg_resetwal.c:766 +#: pg_resetwal.c:773 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Taille d'un morceau de Large Object : %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:776 #, c-format msgid "Date/time type storage: %s\n" msgstr "Stockage du type date/heure : %s\n" -#: pg_resetwal.c:770 +#: pg_resetwal.c:777 msgid "64-bit integers" msgstr "entiers 64-bits" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Passage d'argument float8 : %s\n" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by reference" msgstr "par référence" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by value" msgstr "par valeur" -#: pg_resetwal.c:773 +#: pg_resetwal.c:780 #, c-format msgid "Data page checksum version: %u\n" msgstr "Version des sommes de contrôle des pages de données : %u\n" -#: pg_resetwal.c:787 +#: pg_resetwal.c:794 #, c-format msgid "" "\n" @@ -451,102 +554,82 @@ msgstr "" "Valeurs à changer :\n" "\n" -#: pg_resetwal.c:791 +#: pg_resetwal.c:798 #, c-format msgid "First log segment after reset: %s\n" msgstr "Premier segment du journal après réinitialisation : %s\n" -#: pg_resetwal.c:795 +#: pg_resetwal.c:802 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:797 +#: pg_resetwal.c:804 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:799 +#: pg_resetwal.c:806 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMulti's DB: %u\n" -#: pg_resetwal.c:805 +#: pg_resetwal.c:812 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:811 +#: pg_resetwal.c:818 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:817 +#: pg_resetwal.c:824 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:826 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:821 +#: pg_resetwal.c:828 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXID's DB: %u\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:834 #, c-format msgid "NextXID epoch: %u\n" msgstr "NextXID Epoch: %u\n" -#: pg_resetwal.c:833 +#: pg_resetwal.c:840 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - -#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "n'a pas pu lire le répertoire « %s » : %m" - -#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 +#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_resetwal.c:983 pg_resetwal.c:1021 +#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 #, c-format msgid "could not delete file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier « %s » : %m" -#: pg_resetwal.c:1093 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" - -#: pg_resetwal.c:1101 pg_resetwal.c:1113 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "impossible d'écrire le fichier « %s » : %m" - -#: pg_resetwal.c:1118 +#: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" msgstr "erreur fsync : %m" -#: pg_resetwal.c:1127 +#: pg_resetwal.c:1168 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -555,23 +638,64 @@ msgstr "" "%s réinitialise le journal des transactions PostgreSQL.\n" "\n" -#: pg_resetwal.c:1128 +#: pg_resetwal.c:1169 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_resetwal.c:1170 +#, c-format +msgid " %s [OPTION]... DATADIR\n" +msgstr " %s [OPTION]... [RÉP_DONNÉES]\n" + +#: pg_resetwal.c:1172 #, c-format msgid "" -"Usage:\n" -" %s [OPTION]... DATADIR\n" "\n" +"Options:\n" msgstr "" -"Usage :\n" -" %s [OPTION]... RÉP_DONNÉES\n" "\n" +"Options :\n" + +#: pg_resetwal.c:1173 +#, c-format +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata] RÉP_DONNEES répertoire de la base de données\n" + +#: pg_resetwal.c:1174 +#, c-format +msgid "" +" -f, --force force update to be done even after unclean shutdown or\n" +" if pg_control values had to be guessed\n" +msgstr " -i, --interactive force la mise à jour, y compris un arrêt pas propre ou si les valeurs de pg_control doivent être devinées\n" + +#: pg_resetwal.c:1176 +#, c-format +msgid " -n, --dry-run no update, just show what would be done\n" +msgstr "" +" -n, --dry-run pas de mise à jour, affiche\n" +" simplement ce qui sera fait\n" + +#: pg_resetwal.c:1177 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" -#: pg_resetwal.c:1129 +#: pg_resetwal.c:1178 #, c-format -msgid "Options:\n" -msgstr "Options :\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_resetwal.c:1130 +#: pg_resetwal.c:1180 +#, c-format +msgid "" +"\n" +"Options to override control file values:\n" +msgstr "" +"\n" +"Options contrôlant les valeurs du fichier de contrôle :\n" + +#: pg_resetwal.c:1181 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -583,86 +707,59 @@ msgstr "" " et la plus récente contenant les dates/heures\n" " de validation (zéro signifie aucun changement)\n" -#: pg_resetwal.c:1133 -#, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]RÉP_DONNEES répertoire de la base de données\n" - -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1184 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH configure la valeur epoch du prochain\n" " identifiant de transaction\n" -#: pg_resetwal.c:1135 -#, c-format -msgid " -f, --force force update to be done\n" -msgstr " -f, --force force la mise à jour\n" - -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1185 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr "" " -l, --next-wal-file=FICHIERWAL configure l'emplacement minimal de début\n" " des WAL du nouveau journal de transactions\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1186 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr "" " -m, --multixact-ids=MXID,MXID configure le prochain et le plus ancien\n" " identifiants multi-transactions\n" -#: pg_resetwal.c:1138 -#, c-format -msgid " -n, --dry-run no update, just show what would be done\n" -msgstr "" -" -n, --dry-run pas de mise à jour, affiche\n" -" simplement ce qui sera fait\n" - -#: pg_resetwal.c:1139 +#: pg_resetwal.c:1187 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID configure le prochain OID\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1188 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr "" " -O, --multixact-offset=DÉCALAGE configure le prochain décalage\n" " multitransaction\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1189 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr "" " -u, --oldest-transaction-id=XID configure l'identifiant de transaction le\n" " plus ancien\n" -#: pg_resetwal.c:1142 -#, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version affiche la version puis quitte\n" - -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1190 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr "" " -x, --next-transaction-id=XID configure le prochain identifiant de\n" " transaction\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1191 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=TAILLE configure la taille des segments WAL, en Mo\n" -#: pg_resetwal.c:1145 -#, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help affiche cette aide puis quitte\n" - -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1193 #, c-format msgid "" "\n" @@ -671,7 +768,7 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1194 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" @@ -692,12 +789,20 @@ msgstr "Page d'accueil de %s : <%s>\n" #~ msgid " --version output version information, then exit\n" #~ msgstr " --version afficherla version et quitte\n" +#, c-format +#~ msgid " -?, --help show this help, then exit\n" +#~ msgstr " -?, --help affiche cette aide puis quitte\n" + #~ msgid " -?, --help show this help, then exit\n" #~ msgstr " -?, --help affiche cette aide, puis quitte\n" #~ msgid " -?, --help show this help, then exit\n" #~ msgstr " -?, --help affiche cette aide et quitte\n" +#, c-format +#~ msgid " -V, --version output version information, then exit\n" +#~ msgstr " -V, --version affiche la version puis quitte\n" + #~ msgid " -V, --version output version information, then exit\n" #~ msgstr " -V, --version affiche la version, puis quitte\n" @@ -707,9 +812,17 @@ msgstr "Page d'accueil de %s : <%s>\n" #~ msgid " -c XID,XID set oldest and newest transactions bearing commit timestamp\n" #~ msgstr " -c XID,XID configure la plus ancienne et la plus récente transaction\n" +#, c-format +#~ msgid " -f, --force force update to be done\n" +#~ msgstr " -f, --force force la mise à jour\n" + #~ msgid " -x XID set next transaction ID\n" #~ msgstr " -x XID fixe le prochain identifiant de transaction\n" +#, c-format +#~ msgid " [-D, --pgdata=]DATADIR data directory\n" +#~ msgstr " [-D, --pgdata=]RÉP_DONNEES répertoire de la base de données\n" + #~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n" #~ msgstr "%s : ATTENTION : ne peut pas créer les jetons restreints sur cette plateforme\n" @@ -811,6 +924,22 @@ msgstr "Page d'accueil de %s : <%s>\n" #~ msgid "Float4 argument passing: %s\n" #~ msgstr "Passage d'argument float4 : %s\n" +#, c-format +#~ msgid "Options:\n" +#~ msgstr "Options :\n" + +#, c-format +#~ msgid "" +#~ "The database server was not shut down cleanly.\n" +#~ "Resetting the write-ahead log might cause data to be lost.\n" +#~ "If you want to proceed anyway, use -f to force reset.\n" +#~ msgstr "" +#~ "Le serveur de bases de données n'a pas été arrêté proprement.\n" +#~ "Ré-initialiser le journal des transactions peut occasionner des pertes de\n" +#~ "données.\n" +#~ "Pour continuer malgré tout, utiliser -f pour forcer la\n" +#~ "réinitialisation.\n" + #~ msgid "Transaction log reset\n" #~ msgstr "Réinitialisation du journal des transactions\n" @@ -818,6 +947,24 @@ msgstr "Page d'accueil de %s : <%s>\n" #~ msgid "Try \"%s --help\" for more information.\n" #~ msgstr "Essayer « %s --help » pour plus d'informations.\n" +#, c-format +#~ msgid "" +#~ "Usage:\n" +#~ " %s [OPTION]... DATADIR\n" +#~ "\n" +#~ msgstr "" +#~ "Usage :\n" +#~ " %s [OPTION]... RÉP_DONNÉES\n" +#~ "\n" + +#, c-format +#~ msgid "argument of --wal-segsize must be a number" +#~ msgstr "l'argument de --wal-segsize doit être un nombre" + +#, c-format +#~ msgid "argument of --wal-segsize must be a power of two between 1 and 1024" +#~ msgstr "l'argument de --wal-segsize doit être une puissance de 2 comprise entre 1 et 1024" + #, c-format #~ msgid "cannot create restricted tokens on this platform: error code %lu" #~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" diff --git a/src/bin/pg_rewind/po/de.po b/src/bin/pg_rewind/po/de.po index 887def960a642..65fcb16d94d72 100644 --- a/src/bin/pg_rewind/po/de.po +++ b/src/bin/pg_rewind/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 10:23+0000\n" -"PO-Revision-Date: 2024-06-16 19:04+0200\n" +"POT-Creation-Date: 2024-08-28 04:23+0000\n" +"PO-Revision-Date: 2024-08-28 07:51+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -815,69 +815,69 @@ msgstr "Quelldatenverzeichnis muss sauber heruntergefahren worden sein" msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) kopiert" -#: pg_rewind.c:950 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "konnte keinen gemeinsamen Anfangspunkt in den Zeitleisten von Quell- und Ziel-Cluster finden" -#: pg_rewind.c:991 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "Puffer für Backup-Label ist zu klein" -#: pg_rewind.c:1014 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "unerwartete CRC in Kontrolldatei" -#: pg_rewind.c:1026 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "unerwartete Kontrolldateigröße %d, erwartet wurde %d" -#: pg_rewind.c:1036 +#: pg_rewind.c:1034 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Byte)" msgstr[1] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Bytes)" -#: pg_rewind.c:1040 +#: pg_rewind.c:1038 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "Die WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein." -#: pg_rewind.c:1077 pg_rewind.c:1145 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "Programm »%s« wird von %s benötigt, aber wurde nicht im selben Verzeichnis wie »%s« gefunden" -#: pg_rewind.c:1080 pg_rewind.c:1148 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "Programm »%s« wurde von »%s« gefunden, aber es hatte nicht die gleiche Version wie %s" -#: pg_rewind.c:1109 +#: pg_rewind.c:1107 #, c-format -msgid "unable to read restore_command from target cluster" +msgid "could not read restore_command from target cluster" msgstr "konnte restore_command des Ziel-Clusters nicht lesen" -#: pg_rewind.c:1114 +#: pg_rewind.c:1112 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "»restore_command« ist im Ziel-Cluster nicht gesetzt" -#: pg_rewind.c:1152 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "führe »%s« für Zielserver aus, um Wiederherstellung abzuschließen" -#: pg_rewind.c:1190 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "postgres im Einzelbenutzermodus im Ziel-Cluster fehlgeschlagen" -#: pg_rewind.c:1191 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "Die Anweisung war: %s" diff --git a/src/bin/pg_rewind/po/fr.po b/src/bin/pg_rewind/po/fr.po index d83beaa830c0c..02056a5dd0cba 100644 --- a/src/bin/pg_rewind/po/fr.po +++ b/src/bin/pg_rewind/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:21+0000\n" -"PO-Revision-Date: 2023-09-05 07:49+0200\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-08-30 08:30+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,6 +41,65 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 file_ops.c:341 local_source.c:104 +#: local_source.c:163 parsexlog.c:350 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: local_source.c:121 local_source.c:172 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/controldata_utils.c:170 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 +#: ../../common/file_utils.c:347 ../../common/file_utils.c:406 +#: ../../common/file_utils.c:480 ../../fe_utils/recovery_gen.c:140 +#: parsexlog.c:312 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 file_ops.c:117 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -52,6 +111,38 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: ../../fe_utils/archive.c:86 file_ops.c:417 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 file_ops.c:388 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" @@ -107,43 +198,58 @@ msgstr "taille de fichier inattendu pour « %s » : %lld au lieu de %lld" msgid "could not open file \"%s\" restored from archive: %m" msgstr "n'a pas pu ouvrir le fichier « %s » à partir de l'archive : %m" -#: ../../fe_utils/archive.c:86 file_ops.c:417 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "n'a pas pu tester le fichier « %s » : %m" - #: ../../fe_utils/archive.c:98 #, c-format -msgid "restore_command failed: %s" -msgstr "échec de la restore_command : %s" +msgid "\"restore_command\" failed: %s" +msgstr "échec de « restore_command » : %s" #: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "n'a pas pu restaurer le fichier « %s » à partir de l'archive" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 +#: ../../fe_utils/option_utils.c:69 #, c-format -msgid "out of memory" -msgstr "mémoire épuisée" +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" -#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 +#: ../../fe_utils/option_utils.c:76 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50 +#: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109 +#: ../../fe_utils/recovery_gen.c:168 +#, c-format +msgid "out of memory" +msgstr "mémoire épuisée" -#: ../../fe_utils/recovery_gen.c:124 +#: ../../fe_utils/recovery_gen.c:143 #, c-format msgid "could not write to file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier « %s » : %m" -#: ../../fe_utils/recovery_gen.c:133 +#: ../../fe_utils/recovery_gen.c:152 #, c-format msgid "could not create file \"%s\": %m" msgstr "n'a pas pu créer le fichier « %s » : %m" +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + #: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" @@ -159,11 +265,6 @@ msgstr "n'a pas pu fermer le fichier cible « %s » : %m" msgid "could not seek in target file \"%s\": %m" msgstr "n'a pas pu chercher dans le fichier cible « %s » : %m" -#: file_ops.c:117 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "impossible d'écrire le fichier « %s » : %m" - #: file_ops.c:150 file_ops.c:177 #, c-format msgid "undefined file type for \"%s\"" @@ -209,26 +310,6 @@ msgstr "n'a pas pu créer le lien symbolique à « %s » : %m" msgid "could not remove symbolic link \"%s\": %m" msgstr "n'a pas pu supprimer le lien symbolique « %s » : %m" -#: file_ops.c:326 file_ops.c:330 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" - -#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - -#: file_ops.c:344 parsexlog.c:352 -#, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" - -#: file_ops.c:388 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -239,162 +320,157 @@ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" msgid "symbolic link \"%s\" target is too long" msgstr "la cible du lien symbolique « %s » est trop longue" -#: file_ops.c:462 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "n'a pas pu lire le répertoire « %s » : %m" - #: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: filemap.c:236 +#: filemap.c:235 #, c-format msgid "data file \"%s\" in source is not a regular file" msgstr "le fichier de données « %s » en source n'est pas un fichier standard" -#: filemap.c:241 filemap.c:274 +#: filemap.c:240 filemap.c:273 #, c-format msgid "duplicate source file \"%s\"" msgstr "fichier source « %s » dupliqué" -#: filemap.c:329 +#: filemap.c:328 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "modification inattendue de page pour le fichier non standard « %s »" -#: filemap.c:679 filemap.c:773 +#: filemap.c:682 filemap.c:776 #, c-format msgid "unknown file type for \"%s\"" msgstr "type de fichier inconnu pour « %s »" -#: filemap.c:706 +#: filemap.c:709 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "le fichier « %s » a un type différent pour la source et la cible" -#: filemap.c:778 +#: filemap.c:781 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "n'a pas pu décider que faire avec le fichier « %s » : %m" -#: libpq_source.c:130 +#: libpq_source.c:131 #, c-format -msgid "could not clear search_path: %s" -msgstr "n'a pas pu effacer search_path : %s" +msgid "could not clear \"search_path\": %s" +msgstr "n'a pas pu effacer « search_path » : %s" -#: libpq_source.c:141 +#: libpq_source.c:142 #, c-format -msgid "full_page_writes must be enabled in the source server" -msgstr "full_page_writes doit être activé sur le serveur source" +msgid "\"full_page_writes\" must be enabled in the source server" +msgstr "« full_page_writes » doit être activé sur le serveur source" -#: libpq_source.c:152 +#: libpq_source.c:153 #, c-format msgid "could not prepare statement to fetch file contents: %s" msgstr "n'a pas pu préparer l'instruction pour récupérer le contenu du fichier : %s" -#: libpq_source.c:171 +#: libpq_source.c:172 #, c-format msgid "error running query (%s) on source server: %s" msgstr "erreur lors de l'exécution de la requête (%s) sur le serveur source : %s" -#: libpq_source.c:176 +#: libpq_source.c:177 #, c-format msgid "unexpected result set from query" msgstr "ensemble de résultats inattendu provenant de la requête" -#: libpq_source.c:198 +#: libpq_source.c:199 #, c-format msgid "error running query (%s) in source server: %s" msgstr "erreur lors de l'exécution de la requête (%s) dans le serveur source : %s" -#: libpq_source.c:219 +#: libpq_source.c:220 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "résultat non reconnu « %s » pour l'emplacement d'insertion actuel dans les WAL" -#: libpq_source.c:270 +#: libpq_source.c:271 #, c-format msgid "could not fetch file list: %s" msgstr "n'a pas pu récupérer la liste des fichiers : %s" -#: libpq_source.c:275 +#: libpq_source.c:276 #, c-format msgid "unexpected result set while fetching file list" msgstr "ensemble de résultats inattendu lors de la récupération de la liste des fichiers" -#: libpq_source.c:467 +#: libpq_source.c:477 #, c-format msgid "could not send query: %s" msgstr "n'a pas pu envoyer la requête : %s" -#: libpq_source.c:470 +#: libpq_source.c:480 #, c-format msgid "could not set libpq connection to single row mode" msgstr "n'a pas pu configurer la connexion libpq en mode ligne seule" -#: libpq_source.c:500 +#: libpq_source.c:510 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "résultat inattendu lors de la récupération des fichiers cibles : %s" -#: libpq_source.c:505 +#: libpq_source.c:515 #, c-format msgid "received more data chunks than requested" msgstr "a reçu plus de morceaux de données que demandé" -#: libpq_source.c:509 +#: libpq_source.c:519 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "taille inattendue de l'ensemble de résultats lors de la récupération des fichiers distants" -#: libpq_source.c:515 +#: libpq_source.c:525 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u" msgstr "types de données inattendus dans l'ensemble de résultats lors de la récupération des fichiers distants : %u %u %u" -#: libpq_source.c:523 +#: libpq_source.c:533 #, c-format msgid "unexpected result format while fetching remote files" msgstr "format de résultat inattendu lors de la récupération des fichiers distants" -#: libpq_source.c:529 +#: libpq_source.c:539 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "valeurs NULL inattendues dans le résultat lors de la récupération des fichiers distants" -#: libpq_source.c:533 +#: libpq_source.c:543 #, c-format msgid "unexpected result length while fetching remote files" msgstr "longueur de résultats inattendu lors de la récupération des fichiers distants" -#: libpq_source.c:566 +#: libpq_source.c:576 #, c-format msgid "received data for file \"%s\", when requested for \"%s\"" msgstr "a reçu des données du fichier « %s » alors que « %s » était demandé" -#: libpq_source.c:570 +#: libpq_source.c:580 #, c-format msgid "received data at offset %lld of file \"%s\", when requested for offset %lld" msgstr "a reçu des données au décalage %lld du fichier « %s » alors que le décalage %lld était demandé" -#: libpq_source.c:582 +#: libpq_source.c:592 #, c-format msgid "received more than requested for file \"%s\"" msgstr "a reçu plus que demandé pour le fichier « %s »" -#: libpq_source.c:595 +#: libpq_source.c:605 #, c-format msgid "unexpected number of data chunks received" msgstr "nombre de morceaux de données reçus inattendu" -#: libpq_source.c:638 +#: libpq_source.c:648 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "n'a pas pu récupérer le fichier distant « %s » : %s" -#: libpq_source.c:643 +#: libpq_source.c:653 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "ensemble de résultats inattendu lors de la récupération du fichier distant « %s »" @@ -409,11 +485,6 @@ msgstr "n'a pas pu ouvrir le fichier source « %s » : %m" msgid "size of source file \"%s\" changed concurrently: %d bytes expected, %d copied" msgstr "la taille du fichier source « %s » a changé : %d octets attendus, %d copiés" -#: local_source.c:121 local_source.c:172 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "n'a pas pu fermer le fichier « %s » : %m" - #: local_source.c:146 #, c-format msgid "could not seek in source file: %m" @@ -464,7 +535,7 @@ msgstr "n'a pas pu parcourir le fichier « %s » : %m" msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" msgstr "l'enregistrement WAL modifie une relation mais le type d'enregistrement n'est pas reconnu : lsn : %X/%X, rmid : %d, rmgr : %s, info : %02X" -#: pg_rewind.c:92 +#: pg_rewind.c:94 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -474,7 +545,7 @@ msgstr "" "l'instance.\n" "\n" -#: pg_rewind.c:93 +#: pg_rewind.c:95 #, c-format msgid "" "Usage:\n" @@ -485,42 +556,42 @@ msgstr "" " %s [OPTION]...\n" "\n" -#: pg_rewind.c:94 +#: pg_rewind.c:96 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: pg_rewind.c:95 +#: pg_rewind.c:97 #, c-format msgid "" -" -c, --restore-target-wal use restore_command in target configuration to\n" +" -c, --restore-target-wal use \"restore_command\" in target configuration to\n" " retrieve WAL files from archives\n" msgstr "" -" -c, --restore-target-wal utilise restore_command pour la configuration\n" +" -c, --restore-target-wal utilise « restore_command » pour la configuration\n" " cible de récupération des fichiers WAL des\n" " archives\n" -#: pg_rewind.c:97 +#: pg_rewind.c:99 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=RÉPERTOIRE répertoire de données existant à modifier\n" -#: pg_rewind.c:98 +#: pg_rewind.c:100 #, c-format msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=RÉPERTOIRE répertoire des données source\n" -#: pg_rewind.c:99 +#: pg_rewind.c:101 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=CHAÎNE serveur source pour la synchronisation\n" -#: pg_rewind.c:100 +#: pg_rewind.c:102 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run arrête avant de modifier quoi que ce soit\n" -#: pg_rewind.c:101 +#: pg_rewind.c:103 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" @@ -529,12 +600,12 @@ msgstr "" " -N, --nosync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_rewind.c:103 +#: pg_rewind.c:105 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress écrit les messages de progression\n" -#: pg_rewind.c:104 +#: pg_rewind.c:106 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -543,7 +614,7 @@ msgstr "" " -R, --write-recovery-conf écrit la configuration pour la réplication\n" " (requiert --source-server)\n" -#: pg_rewind.c:106 +#: pg_rewind.c:108 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -553,29 +624,34 @@ msgstr "" " du serveur principal lors de l'exécution de\n" " l'instance cible\n" -#: pg_rewind.c:108 +#: pg_rewind.c:110 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug écrit beaucoup de messages de débogage\n" -#: pg_rewind.c:109 +#: pg_rewind.c:111 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" msgstr "" " --no-ensure-shutdown ne corrige pas automatiquement l'arrêt non\n" " propre\n" -#: pg_rewind.c:110 +#: pg_rewind.c:112 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_rewind.c:113 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version, puis quitte\n" -#: pg_rewind.c:111 +#: pg_rewind.c:114 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide, puis quitte\n" -#: pg_rewind.c:112 +#: pg_rewind.c:115 #, c-format msgid "" "\n" @@ -584,424 +660,424 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_rewind.c:113 +#: pg_rewind.c:116 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 -#: pg_rewind.c:252 pg_rewind.c:260 +#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254 +#: pg_rewind.c:261 pg_rewind.c:269 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_rewind.c:230 +#: pg_rewind.c:239 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "aucune source indiquée (--source-pgdata ou --source-server)" -#: pg_rewind.c:237 +#: pg_rewind.c:246 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "une seule des options --source-pgdata et --source-server peut être indiquée" -#: pg_rewind.c:244 +#: pg_rewind.c:253 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "aucun répertoire de données cible indiqué (--target-pgdata)" -#: pg_rewind.c:251 +#: pg_rewind.c:260 #, c-format msgid "no source server information (--source-server) specified for --write-recovery-conf" msgstr "aucune information sur le serveur source (--source-server) indiquée pour --write-recovery-conf" -#: pg_rewind.c:258 +#: pg_rewind.c:267 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_rewind.c:273 +#: pg_rewind.c:282 #, c-format msgid "cannot be executed by \"root\"" msgstr "ne peut pas être exécuté par « root »" -#: pg_rewind.c:274 +#: pg_rewind.c:283 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL." -#: pg_rewind.c:284 +#: pg_rewind.c:293 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "n'a pas pu lire les droits du répertoire « %s » : %m" -#: pg_rewind.c:302 +#: pg_rewind.c:311 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:305 +#: pg_rewind.c:314 #, c-format msgid "connected to server" msgstr "connecté au serveur" -#: pg_rewind.c:366 +#: pg_rewind.c:375 #, c-format msgid "source and target cluster are on the same timeline" msgstr "les instances source et cible sont sur la même ligne de temps" -#: pg_rewind.c:387 +#: pg_rewind.c:396 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "les serveurs ont divergé à la position %X/%X des WAL sur la timeline %u" -#: pg_rewind.c:442 +#: pg_rewind.c:451 #, c-format msgid "no rewind required" msgstr "pas de retour en arrière requis" -#: pg_rewind.c:451 +#: pg_rewind.c:460 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "retour en arrière depuis le dernier checkpoint commun à %X/%X sur la ligne de temps %u" -#: pg_rewind.c:461 +#: pg_rewind.c:470 #, c-format msgid "reading source file list" msgstr "lecture de la liste des fichiers sources" -#: pg_rewind.c:465 +#: pg_rewind.c:474 #, c-format msgid "reading target file list" msgstr "lecture de la liste des fichiers cibles" -#: pg_rewind.c:474 +#: pg_rewind.c:483 #, c-format msgid "reading WAL in target" msgstr "lecture du WAL dans la cible" -#: pg_rewind.c:495 +#: pg_rewind.c:504 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "a besoin de copier %lu Mo (la taille totale du répertoire source est %lu Mo)" -#: pg_rewind.c:513 +#: pg_rewind.c:522 #, c-format msgid "syncing target data directory" msgstr "synchronisation du répertoire des données cible" -#: pg_rewind.c:529 +#: pg_rewind.c:538 #, c-format msgid "Done!" msgstr "Terminé !" -#: pg_rewind.c:609 +#: pg_rewind.c:618 #, c-format msgid "no action decided for file \"%s\"" msgstr "aucune action décidée pour le fichier « %s »" -#: pg_rewind.c:641 +#: pg_rewind.c:650 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "le système source a été modifié alors que pg_rewind était en cours d'exécution" -#: pg_rewind.c:645 +#: pg_rewind.c:654 #, c-format msgid "creating backup label and updating control file" msgstr "création du fichier backup_label et mise à jour du fichier contrôle" -#: pg_rewind.c:695 +#: pg_rewind.c:704 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "le système source était dans un état inattendu en fin de rewind" -#: pg_rewind.c:727 +#: pg_rewind.c:736 #, c-format msgid "source and target clusters are from different systems" msgstr "les instances source et cible proviennent de systèmes différents" -#: pg_rewind.c:735 +#: pg_rewind.c:744 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "les instances ne sont pas compatibles avec cette version de pg_rewind" -#: pg_rewind.c:745 +#: pg_rewind.c:754 #, c-format msgid "target server needs to use either data checksums or \"wal_log_hints = on\"" msgstr "le serveur cible doit soit utiliser les sommes de contrôle sur les données soit avoir wal_log_hints configuré à on" -#: pg_rewind.c:756 +#: pg_rewind.c:765 #, c-format msgid "target server must be shut down cleanly" msgstr "le serveur cible doit être arrêté proprement" -#: pg_rewind.c:766 +#: pg_rewind.c:775 #, c-format msgid "source data directory must be shut down cleanly" msgstr "le répertoire de données source doit être arrêté proprement" -#: pg_rewind.c:813 +#: pg_rewind.c:822 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s Ko (%d%%) copiés" -#: pg_rewind.c:941 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "n'a pas pu trouver l'ancêtre commun des lignes de temps des instances source et cible" -#: pg_rewind.c:982 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "tampon du label de sauvegarde trop petit" -#: pg_rewind.c:1005 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "CRC inattendu pour le fichier de contrôle" -#: pg_rewind.c:1017 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "taille %d inattendue du fichier de contrôle, %d attendu" -#: pg_rewind.c:1026 +#: pg_rewind.c:1034 +#, c-format +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "taille invalide du segment WAL dans le fichier de contrôle (%d octet)" +msgstr[1] "taille invalide du segment WAL dans le fichier de contrôle (%d octets)" + +#: pg_rewind.c:1038 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet" -msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: pg_rewind.c:1065 pg_rewind.c:1135 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_rewind.c:1068 pg_rewind.c:1138 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_rewind.c:1101 +#: pg_rewind.c:1107 +#, c-format +msgid "could not read restore_command from target cluster" +msgstr "n'a pas pu lire restore_command à partir de l'instance cible" + +#: pg_rewind.c:1112 #, c-format -msgid "restore_command is not set in the target cluster" -msgstr "restore_command n'est pas configuré sur l'instance cible" +msgid "\"restore_command\" is not set in the target cluster" +msgstr "« restore_command» n'est pas configuré sur l'instance cible" -#: pg_rewind.c:1142 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "exécution de « %s » pour terminer la restauration après crash du serveur cible" -#: pg_rewind.c:1180 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "le mot simple-utilisateur de postgres a échoué pour l'instance cible" -#: pg_rewind.c:1181 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "La commande était : %s" -#: timeline.c:75 timeline.c:81 +#: timeline.c:74 timeline.c:80 #, c-format msgid "syntax error in history file: %s" msgstr "erreur de syntaxe dans le fichier historique : %s" -#: timeline.c:76 +#: timeline.c:75 #, c-format msgid "Expected a numeric timeline ID." msgstr "Attendait un identifiant timeline numérique." -#: timeline.c:82 +#: timeline.c:81 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "Attendait un emplacement de bascule de journal de transactions." -#: timeline.c:87 +#: timeline.c:86 #, c-format msgid "invalid data in history file: %s" msgstr "données invalides dans le fichier historique : %s" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "Les identifiants timeline doivent être en ordre croissant." -#: timeline.c:108 +#: timeline.c:107 #, c-format msgid "invalid data in history file" msgstr "données invalides dans le fichier historique" -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "" "Les identifiants timeline doivent être plus petits que les enfants des\n" "identifiants timeline." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "« contrecord » est requis par %X/%X" -#: xlogreader.c:676 xlogreader.c:1119 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "longueur trop importante de l'enregistrement %u à %X/%X" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "il n'existe pas de drapeau contrecord à %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X" -#: xlogreader.c:1127 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X" -#: xlogreader.c:1140 xlogreader.c:1156 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X" -#: xlogreader.c:1192 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "somme de contrôle des données du gestionnaire de ressources incorrecte à\n" "l'enregistrement %X/%X" -#: xlogreader.c:1226 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1241 xlogreader.c:1283 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1257 +#: xlogreader.c:1274 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu" -#: xlogreader.c:1265 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page" -#: xlogreader.c:1271 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page" -#: xlogreader.c:1303 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u" -#: xlogreader.c:1329 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1735 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u désordonné à %X/%X" -#: xlogreader.c:1759 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X" -#: xlogreader.c:1766 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X" -#: xlogreader.c:1802 +#: xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X" -#: xlogreader.c:1818 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X" -#: xlogreader.c:1832 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1847 +#: xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1863 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X" -#: xlogreader.c:1875 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u invalide à %X/%X" -#: xlogreader.c:1942 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "enregistrement de longueur invalide à %X/%X" -#: xlogreader.c:1968 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL" -#: xlogreader.c:2052 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" -#: xlogreader.c:2059 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d" -#: xlogreader.c:2086 xlogreader.c:2103 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d" -#: xlogreader.c:2112 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d" -#: xlogreader.c:2120 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" @@ -1144,6 +1220,12 @@ msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" #~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header" #~ msgstr "le fichier WAL provient d'un système différent : XLOG_SEG_SIZE invalide dans l'en-tête de page" +#, c-format +#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" +#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" +#~ msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet" +#~ msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets" + #~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte\n" #~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes\n" #~ msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet\n" @@ -1284,12 +1366,20 @@ msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" #~ msgid "missing contrecord at %X/%X" #~ msgstr "contrecord manquant à %X/%X" +#, c-format +#~ msgid "out of memory while trying to decode a record of length %u" +#~ msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" + #~ msgid "received data at offset " #~ msgstr "a reçu des données au décalage " #~ msgid "received null value for chunk for file \"%s\", file has been deleted\n" #~ msgstr "a reçu une valeur NULL pour une partie du fichier « %s », le fichier a été supprimé\n" +#, c-format +#~ msgid "record length %u at %X/%X too long" +#~ msgstr "longueur trop importante de l'enregistrement %u à %X/%X" + #~ msgid "source file list is empty" #~ msgstr "la liste de fichiers sources est vide" diff --git a/src/bin/pg_rewind/po/ka.po b/src/bin/pg_rewind/po/ka.po index e5aff9132a060..8552e456f8c96 100644 --- a/src/bin/pg_rewind/po/ka.po +++ b/src/bin/pg_rewind/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:23+0000\n" -"PO-Revision-Date: 2024-06-14 06:15+0200\n" +"POT-Creation-Date: 2024-08-27 16:53+0000\n" +"PO-Revision-Date: 2024-08-28 05:56+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -812,69 +812,69 @@ msgstr "საწყისი ბაზა წესების დაცვი msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s კბ (%d%%) დაკოპირდა" -#: pg_rewind.c:950 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "საწყისი და სამიზნე კლასტერების დროის ხაზის საერთო წინაპრის პოვნა შეუძლებელია" -#: pg_rewind.c:991 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "მარქაფის ჭდის ბაფერი ძალიან პატარაა" -#: pg_rewind.c:1014 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "კონტროლის ფაილის მოულოდნელი CRC" -#: pg_rewind.c:1026 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "საკონტროლო ფაილის არასწორი სიგრძე: %d. უნდა იყოს: %d" -#: pg_rewind.c:1036 +#: pg_rewind.c:1034 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "არასწორი WAL სეგმენტის ზომა კონტროლის ფაილში (%d ბაიტი)" msgstr[1] "არასწორი WAL სეგმენტის ზომა კონტროლის ფაილში (%d ბაიტი)" -#: pg_rewind.c:1040 +#: pg_rewind.c:1038 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WAL სეგმენტის ზომა ორის ხარისხი უნდა იყოს, შუალედიდან 1მბ-1გბ." -#: pg_rewind.c:1077 pg_rewind.c:1145 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "პროგრამა \"%s\" სჭირდება \"%s\"-ს, მაგრამ იგივე საქაღალდეში, სადაც \"%s\", ნაპოვნი არაა" -#: pg_rewind.c:1080 pg_rewind.c:1148 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "პროგრამა „%s“ ნაპოვნია „%s“-ის მიერ, მაგრამ ვერსია, იგივეა არაა, რაც %s" -#: pg_rewind.c:1109 +#: pg_rewind.c:1107 #, c-format -msgid "unable to read restore_command from target cluster" +msgid "could not read restore_command from target cluster" msgstr "სამიზნე კლასტერიდან restore_command-ის წაკითხვა შეუძლებელია" -#: pg_rewind.c:1114 +#: pg_rewind.c:1112 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "სამიზნე კლასტერში \"restore_command\" დაყენებული არაა" -#: pg_rewind.c:1152 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "ავარიიდან სრულად აღდგენისთვის სამიზნე სერვერზე %s-ის შესრულდება" -#: pg_rewind.c:1190 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "სამიზნე კლასტერში postgres-ის ერთმომხმარებლიანი რეჟიმის შეცდომა" -#: pg_rewind.c:1191 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "ბრძანება იყო: %s" diff --git a/src/bin/pg_rewind/po/sv.po b/src/bin/pg_rewind/po/sv.po index 9e47c9f08a5df..7894e029f203e 100644 --- a/src/bin/pg_rewind/po/sv.po +++ b/src/bin/pg_rewind/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-13 04:54+0000\n" -"PO-Revision-Date: 2024-07-13 11:19+0200\n" +"POT-Creation-Date: 2024-08-27 15:53+0000\n" +"PO-Revision-Date: 2024-08-27 18:32+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -811,69 +811,69 @@ msgstr "måldatakatalog måste stängas ner utan fel" msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) kopierad" -#: pg_rewind.c:950 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "kunde inte finna en gemensam anfader av källa och målklusterets tidslinjer" -#: pg_rewind.c:991 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "backupetikett-buffer för liten" -#: pg_rewind.c:1014 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "oväntad kontrollfil-CRC" -#: pg_rewind.c:1026 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "oväntad kontrollfilstorlek %d, förväntade %d" -#: pg_rewind.c:1036 +#: pg_rewind.c:1034 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "ogiltigt WAL-segmentstorlek i kontrollfil (%d byte)" msgstr[1] "ogiltigt WAL-segmentstorlek i kontrollfil (%d byte)" -#: pg_rewind.c:1040 +#: pg_rewind.c:1038 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WAL-segmentstorleken måste vara en tvåpotens mellan 1 MB och 1 GB." -#: pg_rewind.c:1077 pg_rewind.c:1145 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "programmet \"%s\" behövs av %s men hittades inte i samma katalog som \"%s\"" -#: pg_rewind.c:1080 pg_rewind.c:1148 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "programmet \"%s\" hittades av \"%s\" men är inte av samma version som %s" -#: pg_rewind.c:1109 +#: pg_rewind.c:1107 #, c-format -msgid "unable to read restore_command from target cluster" -msgstr "kan inte läsa restore_command från målklustret" +msgid "could not read restore_command from target cluster" +msgstr "kunde inte läsa restore_command från målklustret" -#: pg_rewind.c:1114 +#: pg_rewind.c:1112 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "\"restore_command\" är inte satt i målklustret" -#: pg_rewind.c:1152 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "kör \"%s\" för målservern för att slutföra krashåterställning" -#: pg_rewind.c:1190 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "postgres enanvändarläge misslyckades i målklustret" -#: pg_rewind.c:1191 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "Kommandot var: %s" diff --git a/src/bin/pg_test_fsync/po/fr.po b/src/bin/pg_test_fsync/po/fr.po index dfedfe84e78a1..fd3195d8460d8 100644 --- a/src/bin/pg_test_fsync/po/fr.po +++ b/src/bin/pg_test_fsync/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-14 10:20+0000\n" -"PO-Revision-Date: 2022-05-14 17:17+0200\n" +"POT-Creation-Date: 2024-08-22 10:24+0000\n" +"PO-Revision-Date: 2024-08-23 11:09+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,110 +19,121 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.4\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "erreur : " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "attention : " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "détail : " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "astuce : " +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:32 +#: pg_test_fsync.c:38 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f ops/sec %6.0f usecs/op\n" -#: pg_test_fsync.c:50 +#: pg_test_fsync.c:56 #, c-format msgid "could not create thread for alarm" msgstr "n'a pas pu créer un thread pour l'alarme" -#: pg_test_fsync.c:95 +#: pg_test_fsync.c:101 #, c-format msgid "%s: %m" msgstr "%s : %m" -#: pg_test_fsync.c:159 +#: pg_test_fsync.c:165 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "Usage: %s [-f NOMFICHIER] [-s SECS-PAR-TEST]\n" -#: pg_test_fsync.c:185 +#: pg_test_fsync.c:191 #, c-format msgid "invalid argument for option %s" msgstr "argument invalide pour l'option %s" -#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_test_fsync.c:192 +#: pg_test_fsync.c:198 #, c-format msgid "%s must be in range %u..%u" msgstr "%s doit être compris entre %u et %u" -#: pg_test_fsync.c:205 +#: pg_test_fsync.c:211 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_test_fsync.c:211 +#: pg_test_fsync.c:217 #, c-format msgid "%u second per test\n" msgid_plural "%u seconds per test\n" msgstr[0] "%u seconde par test\n" msgstr[1] "%u secondes par test\n" -#: pg_test_fsync.c:216 +#: pg_test_fsync.c:222 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "O_DIRECT supporté sur cette plateforme pour open_datasync et open_sync.\n" -#: pg_test_fsync.c:218 +#: pg_test_fsync.c:224 #, c-format msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" msgstr "F_NOCACHE supporté sur cette plateforme pour open_datasync et open_sync.\n" -#: pg_test_fsync.c:220 +#: pg_test_fsync.c:226 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "Direct I/O n'est pas supporté sur cette plateforme.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 -#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 -#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363 +#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543 +#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587 msgid "could not open output file" msgstr "n'a pas pu ouvrir le fichier en sortie" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 -#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 -#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 -#: pg_test_fsync.c:590 +#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350 +#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561 +#: pg_test_fsync.c:592 msgid "write failed" msgstr "échec en écriture" -#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 -#: pg_test_fsync.c:533 pg_test_fsync.c:565 +#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398 +#: pg_test_fsync.c:535 pg_test_fsync.c:567 msgid "fsync failed" msgstr "échec de la synchronisation (fsync)" -#: pg_test_fsync.c:292 +#: pg_test_fsync.c:298 #, c-format msgid "" "\n" @@ -131,7 +142,7 @@ msgstr "" "\n" "Comparer les méthodes de synchronisation de fichier en utilisant une écriture de %d Ko :\n" -#: pg_test_fsync.c:294 +#: pg_test_fsync.c:300 #, c-format msgid "" "\n" @@ -140,21 +151,21 @@ msgstr "" "\n" "Comparer les méthodes de synchronisation de fichier sur disque en utilisant deux écritures de %d Ko :\n" -#: pg_test_fsync.c:295 +#: pg_test_fsync.c:301 #, c-format -msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" -msgstr "(dans l'ordre de préférence de wal_sync_method, sauf fdatasync qui est la valeur par défaut sous Linux)\n" +msgid "(in \"wal_sync_method\" preference order, except fdatasync is Linux's default)\n" +msgstr "(dans l'ordre de préférence de « wal_sync_method », sauf fdatasync qui est la valeur par défaut sous Linux)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482 msgid "n/a*" msgstr "n/a*" -#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 -#: pg_test_fsync.c:439 pg_test_fsync.c:498 +#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441 +#: pg_test_fsync.c:500 msgid "n/a" msgstr "n/a" -#: pg_test_fsync.c:444 +#: pg_test_fsync.c:446 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -163,7 +174,7 @@ msgstr "" "* Ce système de fichiers et ses options de montage ne supportent pas les\n" " I/O directes, par exemple ext4 en journalisé.\n" -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:454 #, c-format msgid "" "\n" @@ -172,7 +183,7 @@ msgstr "" "\n" "Comparer open_sync avec différentes tailles d'écriture :\n" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:455 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -181,27 +192,27 @@ msgstr "" "(Ceci est conçu pour comparer le coût d'écriture de 16 Ko dans différentes tailles\n" "d'écritures open_sync.)\n" -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:458 msgid " 1 * 16kB open_sync write" msgstr " 1 * 16 Ko, écriture avec open_sync" -#: pg_test_fsync.c:457 +#: pg_test_fsync.c:459 msgid " 2 * 8kB open_sync writes" msgstr " 2 * 8 Ko, écriture avec open_sync" -#: pg_test_fsync.c:458 +#: pg_test_fsync.c:460 msgid " 4 * 4kB open_sync writes" msgstr " 4 * 4 Ko, écriture avec open_sync" -#: pg_test_fsync.c:459 +#: pg_test_fsync.c:461 msgid " 8 * 2kB open_sync writes" msgstr " 8 * 2 Ko, écriture avec open_sync" -#: pg_test_fsync.c:460 +#: pg_test_fsync.c:462 msgid "16 * 1kB open_sync writes" msgstr " 16 * 1 Ko, écriture avec open_sync" -#: pg_test_fsync.c:514 +#: pg_test_fsync.c:516 #, c-format msgid "" "\n" @@ -210,7 +221,7 @@ msgstr "" "\n" "Teste si fsync est honoré sur un descripteur de fichiers sans écriture :\n" -#: pg_test_fsync.c:515 +#: pg_test_fsync.c:517 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -219,7 +230,7 @@ msgstr "" "(Si les temps sont similaires, fsync() peut synchroniser sur disque les données écrites sur\n" "un descripteur différent.)\n" -#: pg_test_fsync.c:580 +#: pg_test_fsync.c:582 #, c-format msgid "" "\n" diff --git a/src/bin/pg_test_timing/po/fr.po b/src/bin/pg_test_timing/po/fr.po index f97ebee84bdce..151c734a990ad 100644 --- a/src/bin/pg_test_timing/po/fr.po +++ b/src/bin/pg_test_timing/po/fr.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" +"POT-Creation-Date: 2024-08-22 10:20+0000\n" "PO-Revision-Date: 2022-04-12 17:29+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" @@ -21,6 +21,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 3.0.1\n" +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + #: pg_test_timing.c:59 #, c-format msgid "Usage: %s [-d DURATION]\n" diff --git a/src/bin/pg_upgrade/po/de.po b/src/bin/pg_upgrade/po/de.po index 6ba30754d318d..399e6c46985fc 100644 --- a/src/bin/pg_upgrade/po/de.po +++ b/src/bin/pg_upgrade/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-18 04:50+0000\n" -"PO-Revision-Date: 2024-06-19 10:24+0200\n" +"POT-Creation-Date: 2024-08-27 05:51+0000\n" +"PO-Revision-Date: 2024-08-27 10:09+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -231,7 +231,7 @@ msgstr "" #: check.c:345 #, c-format -msgid "Checking for data type usage" +msgid "Checking data type usage" msgstr "Prüfe Verwendung von Datentypen" #: check.c:480 @@ -243,9 +243,9 @@ msgstr " fehlgeschlagene Prüfung: %s" msgid "A list of the problem columns is in the file:" msgstr "Eine Liste der Problemspalten ist in der Datei:" -#: check.c:495 check.c:961 check.c:1134 check.c:1249 check.c:1343 check.c:1471 -#: check.c:1547 check.c:1611 check.c:1684 check.c:1866 check.c:1885 -#: check.c:1954 check.c:2006 file.c:378 file.c:415 function.c:189 option.c:493 +#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473 +#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884 +#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493 #: version.c:79 version.c:177 #, c-format msgid "could not open file \"%s\": %m" @@ -274,7 +274,7 @@ msgstr "" "Führe Konsistenzprüfungen durch\n" "-------------------------------" -#: check.c:716 +#: check.c:718 #, c-format msgid "" "\n" @@ -283,7 +283,7 @@ msgstr "" "\n" "*Cluster sind kompatibel*" -#: check.c:724 +#: check.c:726 #, c-format msgid "" "\n" @@ -295,7 +295,7 @@ msgstr "" "neuen Cluster neu mit initdb initialisieren, bevor fortgesetzt\n" "werden kann." -#: check.c:765 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -306,7 +306,7 @@ msgstr "" "den neuen Server starten, sollte Sie diesen Befehl ausführen:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:771 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -315,7 +315,7 @@ msgstr "" "Mit diesem Skript können die Dateien des alten Clusters gelöscht werden:\n" " %s" -#: check.c:776 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -328,57 +328,57 @@ msgstr "" "Datenverzeichnis des neuen Clusters im alten Cluster-Verzeichnis\n" "liegen. Der Inhalt des alten Clusters muss von Hand gelöscht werden." -#: check.c:788 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Prüfe Cluster-Versionen" -#: check.c:800 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Dieses Programm kann nur Upgrades von PostgreSQL Version %s oder später durchführen." -#: check.c:805 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Dieses Programm kann nur Upgrades auf PostgreSQL Version %s durchführen." -#: check.c:814 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Dieses Programm kann keine Downgrades auf ältere Hauptversionen von PostgreSQL durchführen." -#: check.c:819 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Die Daten- und Programmverzeichnisse des alten Clusters stammen von verschiedenen Hauptversionen." -#: check.c:822 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Die Daten- und Programmverzeichnisse des neuen Clusters stammen von verschiedenen Hauptversionen." -#: check.c:837 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Wenn ein laufender Server geprüft wird, müssen die alte und die neue Portnummer verschieden sein." -#: check.c:857 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "Datenbank »%s« im neuen Cluster ist nicht leer: Relation »%s.%s« gefunden" -#: check.c:880 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Prüfe Tablespace-Verzeichnisse des neuen Clusters" -#: check.c:891 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "Tablespace-Verzeichnis für neuen Cluster existiert bereits: »%s«" -#: check.c:924 +#: check.c:926 #, c-format msgid "" "\n" @@ -387,7 +387,7 @@ msgstr "" "\n" "WARNUNG: das neue Datenverzeichnis sollte nicht im alten Datenverzeichnis, d.h. %s, liegen" -#: check.c:948 +#: check.c:950 #, c-format msgid "" "\n" @@ -396,53 +396,53 @@ msgstr "" "\n" "WARNUNG: benutzerdefinierte Tablespace-Pfade sollten nicht im Datenverzeichnis, d.h. %s, liegen" -#: check.c:958 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Erzeuge Skript zum Löschen des alten Clusters" -#: check.c:1012 +#: check.c:1014 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "konnte Datei »%s« nicht ausführbar machen: %m" -#: check.c:1032 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Prüfe ob der Datenbankbenutzer der Installationsbenutzer ist" -#: check.c:1048 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "Datenbankbenutzer »%s« ist nicht der Installationsbenutzer" -#: check.c:1059 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "konnte die Anzahl der Benutzer nicht ermitteln" -#: check.c:1067 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Nur der Installationsbenutzer darf im neuen Cluster definiert sein." -#: check.c:1096 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Prüfe Verbindungseinstellungen der Datenbank" -#: check.c:1122 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 darf keine Verbindungen erlauben, d.h. ihr pg_database.datallowconn muss falsch sein" -#: check.c:1148 check.c:1268 check.c:1365 check.c:1490 check.c:1566 -#: check.c:1624 check.c:1704 check.c:1898 check.c:2023 function.c:210 +#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568 +#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210 #, c-format msgid "fatal" msgstr "fatal" -#: check.c:1149 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -462,27 +462,27 @@ msgstr "" "in der Datei:\n" " %s" -#: check.c:1174 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Prüfe auf vorbereitete Transaktionen" -#: check.c:1183 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "Der alte Cluster enthält vorbereitete Transaktionen" -#: check.c:1185 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "Der neue Cluster enthält vorbereitete Transaktionen" -#: check.c:1210 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Prüfe auf contrib/isn mit unpassender bigint-Übergabe" -#: check.c:1269 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -502,12 +502,12 @@ msgstr "" "der problematischen Funktionen ist in der Datei:\n" " %s" -#: check.c:1291 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Prüfe auf benutzerdefinierte Postfix-Operatoren" -#: check.c:1366 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -522,12 +522,12 @@ msgstr "" "Liste der benutzerdefinierten Postfixoperatoren ist in der Datei:\n" " %s" -#: check.c:1390 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Prüfe auf inkompatible polymorphische Funktionen" -#: check.c:1491 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -548,12 +548,12 @@ msgstr "" "Eine Liste der problematischen Objekte ist in der Datei:\n" " %s" -#: check.c:1515 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Prüfe auf Tabellen mit WITH OIDS" -#: check.c:1567 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -568,12 +568,12 @@ msgstr "" "Eine Liste der Tabellen mit dem Problem ist in der Datei:\n" " %s" -#: check.c:1594 +#: check.c:1596 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Prüfe auf Rollen, die mit »pg_« anfangen" -#: check.c:1625 +#: check.c:1627 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -588,12 +588,12 @@ msgstr "" "Eine Liste der Rollen, die mit »pg_« anfangen, ist in der Datei:\n" " %s" -#: check.c:1645 +#: check.c:1647 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Prüfe auf benutzerdefinierte Kodierungsumwandlungen" -#: check.c:1705 +#: check.c:1707 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -612,55 +612,55 @@ msgstr "" "in der Datei:\n" " %s" -#: check.c:1744 +#: check.c:1746 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "Prüfe logische Replikations-Slots des neuen Clusters" -#: check.c:1752 +#: check.c:1754 #, c-format msgid "could not count the number of logical replication slots" msgstr "konnte Anzahl der logischen Replikations-Slots nicht zählen" -#: check.c:1757 +#: check.c:1759 #, c-format -msgid "Expected 0 logical replication slots but found %d." -msgstr "0 logische Replikations-Slots erwartet aber %d gefunden." +msgid "expected 0 logical replication slots but found %d" +msgstr "0 logische Replikations-Slots erwartet aber %d gefunden" -#: check.c:1767 check.c:1821 +#: check.c:1769 check.c:1820 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "konnte Parametereinstellung im neuen Cluster nicht ermitteln" -#: check.c:1772 +#: check.c:1774 #, c-format -msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" msgstr "»wal_level« muss »logical« sein, aber es ist auf »%s« gesetzt" -#: check.c:1778 +#: check.c:1780 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster" msgstr "»max_replication_slots« (%d) muss größer als oder gleich der Anzahl der logischen Replikations-Slots (%d) im alten Cluster sein" -#: check.c:1813 +#: check.c:1812 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "Prüfe Konfiguration für Subskriptionen im neuen Cluster" -#: check.c:1825 +#: check.c:1824 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster" msgstr "»max_replication_slots« (%d) muss größer als oder gleich der Anzahl der Subskriptionen (%d) im alten Cluster sein" -#: check.c:1847 +#: check.c:1846 #, c-format msgid "Checking for valid logical replication slots" msgstr "Prüfe auf gültige logische Replikations-Slots" -#: check.c:1899 +#: check.c:1898 #, c-format msgid "" -"Your installation contains logical replication slots that can't be upgraded.\n" +"Your installation contains logical replication slots that cannot be upgraded.\n" "You can remove invalid slots and/or consume the pending WAL for other slots,\n" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" @@ -673,12 +673,12 @@ msgstr "" "Eine Liste der problematischen Slots ist in der Datei:\n" " %s" -#: check.c:1923 +#: check.c:1922 #, c-format msgid "Checking for subscription state" msgstr "Prüfe Subskriptionszustand" -#: check.c:2024 +#: check.c:2023 #, c-format msgid "" "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" @@ -1196,47 +1196,47 @@ msgstr "" "Datei:\n" " %s" -#: info.c:129 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Relationsnamen für OID %u in Datenbank »%s« stimmen nicht überein: alten Name »%s.%s«, neuer Name »%s.%s«" -#: info.c:149 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "Alte und neue Tabellen in Datenbank »%s« konnten nicht gepaart werden" -#: info.c:230 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr ", ein Index für »%s.%s«" -#: info.c:240 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr ", ein Index für OID %u" -#: info.c:252 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr ", eine TOAST-Tabelle für »%s.%s«" -#: info.c:260 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr ", eine TOAST-Tabelle für OID %u" -#: info.c:264 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "Keine Übereinstimmung gefunden im alten Cluster für neue Relation mit OID %u in Datenbank »%s«: %s" -#: info.c:267 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "Keine Übereinstimmung gefunden im neuen Cluster für alte Relation mit OID %u in Datenbank »%s«: %s" -#: info.c:308 +#: info.c:300 #, c-format msgid "" "\n" @@ -1245,7 +1245,7 @@ msgstr "" "\n" "Quelldatenbanken:" -#: info.c:310 +#: info.c:302 #, c-format msgid "" "\n" @@ -1254,30 +1254,30 @@ msgstr "" "\n" "Zieldatenbanken:" -#: info.c:354 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 nicht gefunden" -#: info.c:842 +#: info.c:805 #, c-format msgid "Database: \"%s\"" msgstr "Datenbank: »%s«" -#: info.c:855 +#: info.c:818 #, c-format msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" msgstr "relname: »%s.%s«, reloid: %u, reltblspace: »%s«" -#: info.c:869 +#: info.c:832 #, c-format -msgid "Logical replication slots within the database:" +msgid "Logical replication slots in the database:" msgstr "Logische Replikations-Slots in der Datenbank:" -#: info.c:875 +#: info.c:838 #, c-format -msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" -msgstr "Slot-Name: »%s«, Plugin: »%s«, two_phase: %s" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "Slot-Name: »%s«, Ausgabe-Plugin: »%s«, two_phase: %s" #: option.c:105 #, c-format diff --git a/src/bin/pg_upgrade/po/fr.po b/src/bin/pg_upgrade/po/fr.po index 94d1775115555..e4b7c141f232f 100644 --- a/src/bin/pg_upgrade/po/fr.po +++ b/src/bin/pg_upgrade/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:19+0000\n" -"PO-Revision-Date: 2023-07-30 10:37+0200\n" +"POT-Creation-Date: 2024-08-26 19:50+0000\n" +"PO-Revision-Date: 2024-08-26 22:22+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,9 +19,244 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" -#: check.c:69 +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "l'utilisateur n'existe pas" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: check.c:111 +msgid "Checking for system-defined composite types in user tables" +msgstr "Vérification des types composites définis par le système dans les tables utilisateurs" + +#: check.c:118 +msgid "" +"Your installation contains system-defined composite types in user tables.\n" +"These type OIDs are not stable across PostgreSQL versions,\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient des types composites définis par le système dans vos tables\n" +"utilisateurs. Les OID de ces types ne sont pas stables entre différentes versions\n" +"de PostgreSQL, donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez\n" +"supprimer les colonnes problématiques, puis relancer la mise à jour.\n" + +#: check.c:132 +msgid "Checking for incompatible \"line\" data type" +msgstr "Vérification des types de données line incompatibles" + +#: check.c:137 +msgid "" +"Your installation contains the \"line\" data type in user tables.\n" +"This data type changed its internal and input/output format\n" +"between your old and new versions so this\n" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « line » dans vos tables utilisateurs.\n" +"Ce type de données a changé de format interne et en entrée/sortie entre vos ancienne\n" +"et nouvelle versions, donc cette instance ne peut pas être mise à jour\n" +"actuellement. Vous pouvez supprimer les colonnes problématiques et relancer la mise à jour.\n" + +#: check.c:154 +msgid "Checking for reg* data types in user tables" +msgstr "Vérification des types de données reg* dans les tables utilisateurs" + +#: check.c:181 +msgid "" +"Your installation contains one of the reg* data types in user tables.\n" +"These data types reference system OIDs that are not preserved by\n" +"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient un des types de données reg* dans vos tables\n" +"utilisateurs. Ces types de données référencent des OID système qui ne sont\n" +"pas préservés par pg_upgrade, donc cette instance ne peut pas être mise à\n" +"jour actuellement. Vous pouvez supprimer les colonnes problématiques et relancer\n" +"la mise à jour.\n" + +#: check.c:193 +msgid "Checking for incompatible \"aclitem\" data type" +msgstr "Vérification des types de données « aclitem » incompatibles" + +#: check.c:198 +msgid "" +"Your installation contains the \"aclitem\" data type in user tables.\n" +"The internal format of \"aclitem\" changed in PostgreSQL version 16\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient un type de données « aclitem » dans vos tables utilisateurs.\n" +"Le format interne de « aclitem » a changé lors du développement de la version 16, donc\n" +"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" +"colonnes problématiques et relancer la mise à jour.\n" + +#: check.c:217 +msgid "Checking for invalid \"unknown\" user columns" +msgstr "Vérification des colonnes utilisateurs « unknown » invalides" + +#: check.c:222 +msgid "" +"Your installation contains the \"unknown\" data type in user tables.\n" +"This data type is no longer allowed in tables, so this cluster\n" +"cannot currently be upgraded. You can drop the problem columns\n" +"and restart the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « unknown » dans vos tables\n" +"utilisateurs. Ce type de données n'est plus autorisé dans les tables, donc\n" +"cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques, puis relancer la mise à jour.\n" + +#: check.c:239 +msgid "Checking for invalid \"sql_identifier\" user columns" +msgstr "Vérification des colonnes utilisateurs « sql_identifier » invalides" + +#: check.c:244 +msgid "" +"Your installation contains the \"sql_identifier\" data type in user tables.\n" +"The on-disk format for this data type has changed, so this\n" +"cluster cannot currently be upgraded. You can drop the problem\n" +"columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « sql_identifier » dans les tables\n" +"utilisateurs. Le format sur disque pour ce type de données a changé,\n" +"donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer\n" +"les colonnes problématiques, puis relancer la mise à jour.\n" + +#: check.c:255 +msgid "Checking for incompatible \"jsonb\" data type in user tables" +msgstr "Vérification du type de données « json » incompatible dans les tables utilisateurs" + +#: check.c:260 +msgid "" +"Your installation contains the \"jsonb\" data type in user tables.\n" +"The internal format of \"jsonb\" changed during 9.4 beta so this\n" +"cluster cannot currently be upgraded. You can drop the problem \n" +"columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient un type de données « jsonb » dans vos tables utilisateurs.\n" +"Le format interne de « jsonb » a changé lors du développement de la version 9.4 beta, donc\n" +"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" +"colonnes problématiques et relancer la mise à jour.\n" + +#: check.c:272 +msgid "Checking for removed \"abstime\" data type in user tables" +msgstr "Vérification du type de données « abstime » supprimé dans les tables utilisateurs" + +#: check.c:277 +msgid "" +"Your installation contains the \"abstime\" data type in user tables.\n" +"The \"abstime\" type has been removed in PostgreSQL version 12,\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « abstime » dans les tables utilisateurs.\n" +"Le type «abstime » a été supprimé dans PostgreSQL version 12,\n" +"donc cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques ou les convertir en un autre type de données,\n" +"et relancer la mise à jour.\n" + +#: check.c:285 +msgid "Checking for removed \"reltime\" data type in user tables" +msgstr "Vérification du type de données « reltime » supprimé dans les tables utilisateurs" + +#: check.c:290 +msgid "" +"Your installation contains the \"reltime\" data type in user tables.\n" +"The \"reltime\" type has been removed in PostgreSQL version 12,\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « reltime » dans les tables utilisateurs.\n" +"Le type «reltime » a été supprimé dans PostgreSQL version 12,\n" +"donc cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques ou les convertir en un autre type de données,\n" +"et relancer la mise à jour.\n" + +#: check.c:298 +msgid "Checking for removed \"tinterval\" data type in user tables" +msgstr "Vérification du type de données « tinterval » supprimé dans les tables utilisateurs" + +#: check.c:303 +msgid "" +"Your installation contains the \"tinterval\" data type in user tables.\n" +"The \"tinterval\" type has been removed in PostgreSQL version 12,\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « tinterval » dans les tables utilisateurs.\n" +"Le type « tinterval » a été supprimé dans PostgreSQL version 12,\n" +"donc cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques ou les convertir en un autre type de données,\n" +"et relancer la mise à jour.\n" + +#: check.c:345 +#, c-format +msgid "Checking data type usage" +msgstr "Vérification de l'utilisation du type de données" + +#: check.c:480 +#, c-format +msgid " failed check: %s" +msgstr "échec de la vérification : %s" + +#: check.c:483 +msgid "A list of the problem columns is in the file:" +msgstr "Une liste des colonnes problématiques se trouve dans le fichier :" + +#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473 +#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884 +#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493 +#: version.c:79 version.c:177 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: check.c:522 +#, c-format +msgid "Data type checks failed: %s" +msgstr "Échec de la vérification des types de données : %s" + +#: check.c:563 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" @@ -30,7 +265,7 @@ msgstr "" "Exécution de tests de cohérence sur l'ancien serveur\n" "----------------------------------------------------" -#: check.c:75 +#: check.c:569 #, c-format msgid "" "Performing Consistency Checks\n" @@ -39,7 +274,7 @@ msgstr "" "Exécution de tests de cohérence\n" "-------------------------------" -#: check.c:221 +#: check.c:718 #, c-format msgid "" "\n" @@ -48,7 +283,7 @@ msgstr "" "\n" "*Les instances sont compatibles*" -#: check.c:229 +#: check.c:726 #, c-format msgid "" "\n" @@ -59,7 +294,7 @@ msgstr "" "Si pg_upgrade échoue après cela, vous devez ré-exécuter initdb\n" "sur la nouvelle instance avant de continuer." -#: check.c:270 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -70,7 +305,7 @@ msgstr "" "Une fois le nouveau serveur démarré, pensez à exécuter :\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:276 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -79,7 +314,7 @@ msgstr "" "Exécuter ce script supprimera les fichiers de données de l'ancienne instance :\n" " %s" -#: check.c:281 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -93,57 +328,57 @@ msgstr "" "de l'ancienne instance. Le contenu de l'ancienne instance doit être supprimé\n" "manuellement." -#: check.c:293 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Vérification des versions des instances" -#: check.c:305 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Cet outil peut seulement mettre à jour les versions %s et ultérieures de PostgreSQL." -#: check.c:310 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Cet outil peut seulement mettre à jour vers la version %s de PostgreSQL." -#: check.c:319 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Cet outil ne peut pas être utilisé pour mettre à jour vers des versions majeures plus anciennes de PostgreSQL." -#: check.c:324 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Les répertoires des données de l'ancienne instance et des binaires sont de versions majeures différentes." -#: check.c:327 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Les répertoires des données de la nouvelle instance et des binaires sont de versions majeures différentes." -#: check.c:342 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Lors de la vérification d'un serveur en production, l'ancien numéro de port doit être différent du nouveau." -#: check.c:362 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "La nouvelle instance « %s » n'est pas vide : relation « %s.%s » trouvée" -#: check.c:385 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Vérification des répertoires de tablespace de la nouvelle instance" -#: check.c:396 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "le répertoire du tablespace de la nouvelle instance existe déjà : « %s »" -#: check.c:429 +#: check.c:926 #, c-format msgid "" "\n" @@ -152,7 +387,7 @@ msgstr "" "\n" "AVERTISSEMENT : le nouveau répertoire de données ne doit pas être à l'intérieur de l'ancien répertoire de données, %s" -#: check.c:453 +#: check.c:950 #, c-format msgid "" "\n" @@ -161,61 +396,53 @@ msgstr "" "\n" "AVERTISSEMENT : les emplacements des tablespaces utilisateurs ne doivent pas être à l'intérieur du répertoire de données, %s" -#: check.c:463 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Création du script pour supprimer l'ancienne instance" -#: check.c:466 check.c:639 check.c:755 check.c:850 check.c:979 check.c:1056 -#: check.c:1299 check.c:1373 file.c:339 function.c:163 option.c:476 -#: version.c:116 version.c:292 version.c:426 -#, c-format -msgid "could not open file \"%s\": %s" -msgstr "n'a pas pu ouvrir le fichier « %s » : %s" - -#: check.c:517 +#: check.c:1014 #, c-format -msgid "could not add execute permission to file \"%s\": %s" -msgstr "n'a pas pu ajouter les droits d'exécution pour le fichier « %s » : %s" +msgid "could not add execute permission to file \"%s\": %m" +msgstr "n'a pas pu ajouter les droits d'exécution pour le fichier « %s » : %m" -#: check.c:537 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Vérification que l'utilisateur de la base de données est l'utilisateur d'installation" -#: check.c:553 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "l'utilisateur de la base de données « %s » n'est pas l'utilisateur d'installation" -#: check.c:564 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "n'a pas pu déterminer le nombre d'utilisateurs" -#: check.c:572 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Seul l'utilisateur d'installation peut être défini dans la nouvelle instance." -#: check.c:601 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Vérification des paramètres de connexion de la base de données" -#: check.c:627 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 ne doit pas autoriser les connexions, ie pg_database.datallowconn doit valoir false" -#: check.c:654 check.c:775 check.c:873 check.c:999 check.c:1076 check.c:1135 -#: check.c:1196 check.c:1224 check.c:1254 check.c:1313 check.c:1394 -#: function.c:185 version.c:192 version.c:232 version.c:378 +#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568 +#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210 #, c-format msgid "fatal" msgstr "fatal" -#: check.c:655 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -234,27 +461,27 @@ msgstr "" "le fichier :\n" " %s" -#: check.c:680 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Vérification des transactions préparées" -#: check.c:689 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "L'instance source contient des transactions préparées" -#: check.c:691 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "L'instance cible contient des transactions préparées" -#: check.c:716 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Vérification de contrib/isn avec une différence sur le passage des bigint" -#: check.c:776 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -275,12 +502,12 @@ msgstr "" "dans le fichier :\n" " %s" -#: check.c:798 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Vérification des opérateurs postfixes définis par les utilisateurs" -#: check.c:874 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -295,12 +522,12 @@ msgstr "" "Une liste des opérateurs postfixes définis par les utilisateurs se trouve dans le fichier :\n" " %s" -#: check.c:898 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Vérification des fonctions polymorphiques incompatibles" -#: check.c:1000 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -320,12 +547,12 @@ msgstr "" "des objets problématiques se trouve dans le fichier\n" " %s" -#: check.c:1024 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Vérification des tables WITH OIDS" -#: check.c:1077 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -340,143 +567,133 @@ msgstr "" "Une liste des tables ayant ce problème se trouve dans le fichier :\n" " %s" -#: check.c:1105 +#: check.c:1596 #, c-format -msgid "Checking for system-defined composite types in user tables" -msgstr "Vérification des types composites définis par le système dans les tables utilisateurs" +msgid "Checking for roles starting with \"pg_\"" +msgstr "Vérification des rôles commençant avec « pg_ »" -#: check.c:1136 +#: check.c:1627 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" -"These type OIDs are not stable across PostgreSQL versions,\n" -"so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" " %s" msgstr "" -"Votre installation contient des types composites définis par le système dans vos tables\n" -"utilisateurs. Les OID de ces types ne sont pas stables entre différentes versions majeures\n" -"de PostgreSQL, donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez\n" -"supprimer les colonnes problématiques, puis relancer la mise à jour. Vous trouverez\n" -"une liste des colonnes problématiques dans le fichier :\n" +"Votre installation contient des rôles commençant par « pg_ ».\n" +"\"pg_\" est un préfixe réservé aux rôles systèmes. L'instance\n" +"ne peut pas être mise à jour tant que ces rôles ne sont pas renommés.\n" +"Une liste des rôles commençant par « pg_ » se trouve dans le fichier :\n" " %s" -#: check.c:1164 +#: check.c:1647 #, c-format -msgid "Checking for reg* data types in user tables" -msgstr "Vérification des types de données reg* dans les tables utilisateurs" +msgid "Checking for user-defined encoding conversions" +msgstr "Vérification des conversions d'encodage définies par les utilisateurs" -#: check.c:1197 +#: check.c:1707 #, c-format msgid "" -"Your installation contains one of the reg* data types in user tables.\n" -"These data types reference system OIDs that are not preserved by\n" -"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains user-defined encoding conversions.\n" +"The conversion function parameters changed in PostgreSQL version 14\n" +"so this cluster cannot currently be upgraded. You can remove the\n" +"encoding conversions in the old cluster and restart the upgrade.\n" +"A list of user-defined encoding conversions is in the file:\n" " %s" msgstr "" -"Votre installation contient un des types de données reg* dans vos tables\n" -"utilisateurs. Ces types de données référencent des OID système qui ne sont\n" -"pas préservés par pg_upgrade, donc cette instance ne peut pas être mise à\n" -"jour actuellement. Vous pouvez supprimer les colonnes problématiques et relancer\n" -"la mise à jour. Une liste des colonnes problématiques est disponible dans le\n" -"fichier :\n" +"Votre installation contient des conversions définies par un utilisateur.\n" +"Les paramètres des fonctions de conversion ont changé dans PostgreSQL version 14\n" +"donc cette instance ne peut pas être mise à jour actuellement. Vous devez supprimer\n" +"les conversions d'encodage de l'ancienne instance puis relancer la mise à jour.\n" +"Une liste des conversions d'encodage définies par l'utilisateur se trouve dans le fichier :\n" " %s" -#: check.c:1218 +#: check.c:1746 #, c-format -msgid "Checking for incompatible \"aclitem\" data type in user tables" -msgstr "Vérification du type de données aclitem incompatible dans les tables utilisateurs" +msgid "Checking for new cluster logical replication slots" +msgstr "Vérification des slots de réplication logique de la nouvelle instance" -#: check.c:1225 +#: check.c:1754 #, c-format -msgid "" -"Your installation contains the \"aclitem\" data type in user tables.\n" -"The internal format of \"aclitem\" changed in PostgreSQL version 16\n" -"so this cluster cannot currently be upgraded. You can drop the\n" -"problem columns and restart the upgrade. A list of the problem\n" -"columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient un type de données « aclitem » dans vos tables utilisateurs.\n" -"Le format interne de « aclitem » a changé lors du développement de la version 16, donc\n" -"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" -"colonnes problématiques et relancer la mise à jour. Une liste des colonnes problématiques\n" -"est disponible dans le fichier :\n" -" %s" +msgid "could not count the number of logical replication slots" +msgstr "n'a pas pu compter le nombre de slots de réplication logique" -#: check.c:1246 +#: check.c:1759 #, c-format -msgid "Checking for incompatible \"jsonb\" data type" -msgstr "Vérification des types de données « jsonb » incompatibles" +msgid "expected 0 logical replication slots but found %d" +msgstr "attendait 0 slot de réplication logique mais en a trouvé %d" -#: check.c:1255 +#: check.c:1769 check.c:1820 #, c-format -msgid "" -"Your installation contains the \"jsonb\" data type in user tables.\n" -"The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient un type de données « jsonb » dans vos tables utilisateurs.\n" -"Le format interne de « jsonb » a changé lors du développement de la version 9.4 beta, donc\n" -"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" -"colonnes problématiques et relancer la mise à jour. Une liste des colonnes problématiques\n" -"est disponible dans le fichier :\n" -" %s" +msgid "could not determine parameter settings on new cluster" +msgstr "n'a pas pu déterminer la configuration sur la nouvelle instance" -#: check.c:1282 +#: check.c:1774 #, c-format -msgid "Checking for roles starting with \"pg_\"" -msgstr "Vérification des rôles commençant avec « pg_ »" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "« wal_level » doit être configuré à « logical » mais est configuré à « %s »" + +#: check.c:1780 +#, c-format +msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster" +msgstr "« max_replication_slots » (%d) doit être supérieur ou égal au nombre de slots de réplication logique (%d) sur l'ancienne instance" + +#: check.c:1812 +#, c-format +msgid "Checking for new cluster configuration for subscriptions" +msgstr "Vérification de la configuration de la nouvelle instance pour les souscriptions" + +#: check.c:1824 +#, c-format +msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster" +msgstr "« max_replication_slots » (%d) doit être supérieur ou égal au nombre de souscriptions (%d) sur l'ancienne instance" + +#: check.c:1846 +#, c-format +msgid "Checking for valid logical replication slots" +msgstr "Vérification des slots de réplication logique valides" -#: check.c:1314 +#: check.c:1898 #, c-format msgid "" -"Your installation contains roles starting with \"pg_\".\n" -"\"pg_\" is a reserved prefix for system roles. The cluster\n" -"cannot be upgraded until these roles are renamed.\n" -"A list of roles starting with \"pg_\" is in the file:\n" +"Your installation contains logical replication slots that cannot be upgraded.\n" +"You can remove invalid slots and/or consume the pending WAL for other slots,\n" +"and then restart the upgrade.\n" +"A list of the problematic slots is in the file:\n" " %s" msgstr "" -"Votre installation contient des rôles commençant par « pg_ ».\n" -"\"pg_\" est un préfixe réservé aux rôles systèmes. L'instance\n" -"ne peut pas être mise à jour tant que ces rôles ne sont pas renommés.\n" -"Une liste des rôles commençant par « pg_ » se trouve dans le fichier :\n" +"Votre installation contient des slots de réplication logique qui ne peuvent pas\n" +"être mis à jour. Vous pouvez supprimer les slots invalides et/ou consommer le\n" +"WAL en attente pour les autres slots, puis relancer la mise à jour. Vous trouverez\n" +"une liste des slots problématiques dans le fichier :\n" " %s" -#: check.c:1334 +#: check.c:1922 #, c-format -msgid "Checking for user-defined encoding conversions" -msgstr "Vérification des conversions d'encodage définies par les utilisateurs" +msgid "Checking for subscription state" +msgstr "Vérification de l'état de souscription" -#: check.c:1395 +#: check.c:2023 #, c-format msgid "" -"Your installation contains user-defined encoding conversions.\n" -"The conversion function parameters changed in PostgreSQL version 14\n" -"so this cluster cannot currently be upgraded. You can remove the\n" -"encoding conversions in the old cluster and restart the upgrade.\n" -"A list of user-defined encoding conversions is in the file:\n" +"Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" +"You can allow the initial sync to finish for all relations and then restart the upgrade.\n" +"A list of the problematic subscriptions is in the file:\n" " %s" msgstr "" -"Votre installation contient des conversions définies par un utilisateur.\n" -"Les paramètres des fonctions de conversion ont changé dans PostgreSQL version 14\n" -"donc cette instance ne peut pas être mise à jour actuellement. Vous devez supprimer\n" -"les conversions d'encodage de l'ancienne instance puis relancer la mise à jour.\n" -"Une liste des conversions d'encodage définies par l'utilisateur se trouve dans le fichier :\n" +"Votre installation contient des souscriptions sans origine ou ont des relations qui\n" +"ne sont ni dans l'état « initialize » ni dans l'état « ready ». Vous pouvez permettre la\n" +"réalisation de la synchronisation initiale pour toutes les relations, puis relancer la\n" +"mise à jour. Vous trouverez une liste des souscriptions problématiques dans le fichier :\n" " %s" -#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508 +#: controldata.c:129 controldata.c:199 #, c-format -msgid "could not get control data using %s: %s" -msgstr "n'a pas pu obtenir les données de contrôle en utilisant %s : %s" +msgid "could not get control data using %s: %m" +msgstr "n'a pas pu obtenir les données de contrôle en utilisant %s : %m" -#: controldata.c:140 +#: controldata.c:139 #, c-format msgid "%d: database cluster state problem" msgstr "%d : problème sur l'état de l'instance de la base de données" @@ -493,13 +710,18 @@ msgstr "L'instance cible a été arrêté alors qu'elle était en mode restaurat #: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly." -msgstr "L'instance source n'a pas été arrêtée proprement." +msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "L'instance source n'a pas été arrêtée proprement, état reporté comme : « %s »" #: controldata.c:167 #, c-format -msgid "The target cluster was not shut down cleanly." -msgstr "L'instance cible n'a pas été arrêtée proprement." +msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "L'instance cible n'a pas été arrêtée proprement, état reporté comme : « %s »" + +#: controldata.c:175 controldata.c:507 +#, c-format +msgid "could not get control data using %s: %s" +msgstr "n'a pas pu obtenir les données de contrôle en utilisant %s : %s" #: controldata.c:181 #, c-format @@ -511,139 +733,139 @@ msgstr "Il manque certaines informations d'état requises sur l'instance source msgid "The target cluster lacks cluster state information:" msgstr "Il manque certaines informations d'état requises sur l'instance cible :" -#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554 -#: relfilenumber.c:231 server.c:34 util.c:337 +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 +#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:221 +#: controldata.c:220 #, c-format msgid "%d: pg_resetwal problem" msgstr "%d : problème avec pg_resetwal" -#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 -#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 -#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 -#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 -#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 -#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 -#: controldata.c:487 controldata.c:498 +#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 +#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 +#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 +#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 +#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 +#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 +#: controldata.c:486 controldata.c:497 #, c-format msgid "%d: controldata retrieval problem" msgstr "%d : problème de récupération des controldata" -#: controldata.c:579 +#: controldata.c:578 #, c-format msgid "The source cluster lacks some required control information:" msgstr "Il manque certaines informations de contrôle requises sur l'instance source :" -#: controldata.c:582 +#: controldata.c:581 #, c-format msgid "The target cluster lacks some required control information:" msgstr "Il manque certaines informations de contrôle requises sur l'instance cible :" -#: controldata.c:585 +#: controldata.c:584 #, c-format msgid " checkpoint next XID" msgstr " XID du prochain checkpoint" -#: controldata.c:588 +#: controldata.c:587 #, c-format msgid " latest checkpoint next OID" msgstr " prochain OID du dernier checkpoint" -#: controldata.c:591 +#: controldata.c:590 #, c-format msgid " latest checkpoint next MultiXactId" msgstr " prochain MultiXactId du dernier checkpoint" -#: controldata.c:595 +#: controldata.c:594 #, c-format msgid " latest checkpoint oldest MultiXactId" msgstr " plus ancien MultiXactId du dernier checkpoint" -#: controldata.c:598 +#: controldata.c:597 #, c-format msgid " latest checkpoint oldestXID" msgstr " oldestXID du dernier checkpoint" -#: controldata.c:601 +#: controldata.c:600 #, c-format msgid " latest checkpoint next MultiXactOffset" msgstr " prochain MultiXactOffset du dernier checkpoint" -#: controldata.c:604 +#: controldata.c:603 #, c-format msgid " first WAL segment after reset" msgstr " premier segment WAL après réinitialisation" -#: controldata.c:607 +#: controldata.c:606 #, c-format msgid " float8 argument passing method" msgstr " méthode de passage de arguments float8" -#: controldata.c:610 +#: controldata.c:609 #, c-format msgid " maximum alignment" msgstr " alignement maximale" -#: controldata.c:613 +#: controldata.c:612 #, c-format msgid " block size" msgstr " taille de bloc" -#: controldata.c:616 +#: controldata.c:615 #, c-format msgid " large relation segment size" msgstr " taille de segment des relations" -#: controldata.c:619 +#: controldata.c:618 #, c-format msgid " WAL block size" msgstr " taille de bloc d'un WAL" -#: controldata.c:622 +#: controldata.c:621 #, c-format msgid " WAL segment size" msgstr " taille d'un segment WAL" -#: controldata.c:625 +#: controldata.c:624 #, c-format msgid " maximum identifier length" msgstr " longueur maximum d'un identifiant" -#: controldata.c:628 +#: controldata.c:627 #, c-format msgid " maximum number of indexed columns" msgstr " nombre maximum de colonnes indexées" -#: controldata.c:631 +#: controldata.c:630 #, c-format msgid " maximum TOAST chunk size" msgstr " taille maximale d'un morceau de TOAST" -#: controldata.c:635 +#: controldata.c:634 #, c-format msgid " large-object chunk size" msgstr " taille d'un morceau Large-Object" -#: controldata.c:638 +#: controldata.c:637 #, c-format msgid " dates/times are integers?" msgstr " les dates/heures sont-ils des integers?" -#: controldata.c:642 +#: controldata.c:641 #, c-format msgid " data checksum version" msgstr " version des sommes de contrôle des données" -#: controldata.c:644 +#: controldata.c:643 #, c-format msgid "Cannot continue without required control information, terminating" msgstr "Ne peut pas continuer sans les informations de contrôle requises, en arrêt" -#: controldata.c:659 +#: controldata.c:658 #, c-format msgid "" "old and new pg_controldata alignments are invalid or do not match.\n" @@ -652,77 +874,77 @@ msgstr "" "les alignements sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata.\n" "Il est probable qu'une installation soit en 32 bits et l'autre en 64 bits." -#: controldata.c:663 +#: controldata.c:662 #, c-format msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "les tailles de bloc sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:666 +#: controldata.c:665 #, c-format msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match" msgstr "les tailles maximales de segment de relation sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:669 +#: controldata.c:668 #, c-format msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "les tailles de bloc des WAL sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:672 +#: controldata.c:671 #, c-format msgid "old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "les tailles de segment de WAL sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:675 +#: controldata.c:674 #, c-format msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match" msgstr "les longueurs maximales des identifiants sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:678 +#: controldata.c:677 #, c-format msgid "old and new pg_controldata maximum indexed columns are invalid or do not match" msgstr "les nombres maximums de colonnes indexées sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:681 +#: controldata.c:680 #, c-format msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match" msgstr "les tailles maximales de morceaux des TOAST sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:686 +#: controldata.c:685 #, c-format msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match" msgstr "les tailles des morceaux de Large Objects sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:689 +#: controldata.c:688 #, c-format msgid "old and new pg_controldata date/time storage types do not match" msgstr "les types de stockage date/heure ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:702 +#: controldata.c:701 #, c-format msgid "old cluster does not use data checksums but the new one does" msgstr "l'ancienne instance n'utilise pas les sommes de contrôle alors que la nouvelle les utilise" -#: controldata.c:705 +#: controldata.c:704 #, c-format msgid "old cluster uses data checksums but the new one does not" msgstr "l'ancienne instance utilise les sommes de contrôle alors que la nouvelle ne les utilise pas" -#: controldata.c:707 +#: controldata.c:706 #, c-format msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "les versions des sommes de contrôle ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:718 +#: controldata.c:717 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Ajout du suffixe « .old » à l'ancien global/pg_control" -#: controldata.c:723 +#: controldata.c:722 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" -#: controldata.c:727 +#: controldata.c:726 #, c-format msgid "" "\n" @@ -748,27 +970,32 @@ msgstr "Création de la sauvegarde des objets globaux" msgid "Creating dump of database schemas" msgstr "Création de la sauvegarde des schémas des bases" -#: exec.c:47 exec.c:52 +#: exec.c:47 +#, c-format +msgid "could not get pg_ctl version data using %s: %m" +msgstr "n'a pas pu obtenir la version de pg_ctl en utilisant %s : %m" + +#: exec.c:51 #, c-format msgid "could not get pg_ctl version data using %s: %s" msgstr "n'a pas pu obtenir la version de pg_ctl en utilisant %s : %s" -#: exec.c:56 +#: exec.c:55 #, c-format msgid "could not get pg_ctl version output from %s" msgstr "n'a pas pu obtenir la version de pg_ctl à partir de %s" -#: exec.c:113 exec.c:117 +#: exec.c:112 exec.c:116 #, c-format msgid "command too long" msgstr "commande trop longue" -#: exec.c:161 pg_upgrade.c:286 +#: exec.c:160 pg_upgrade.c:311 #, c-format msgid "could not open log file \"%s\": %m" msgstr "n'a pas pu ouvrir le journal applicatif « %s » : %m" -#: exec.c:193 +#: exec.c:192 #, c-format msgid "" "\n" @@ -777,12 +1004,12 @@ msgstr "" "\n" "*échec*" -#: exec.c:196 +#: exec.c:195 #, c-format msgid "There were problems executing \"%s\"" msgstr "Il y a eu des problèmes lors de l'exécution de « %s »" -#: exec.c:199 +#: exec.c:198 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" @@ -791,7 +1018,7 @@ msgstr "" "Consultez les dernières lignes de « %s » ou « %s » pour\n" "trouver la cause probable de l'échec." -#: exec.c:204 +#: exec.c:203 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" @@ -800,141 +1027,156 @@ msgstr "" "Consultez les dernières lignes de « %s » pour\n" "trouver la cause probable de l'échec." -#: exec.c:219 pg_upgrade.c:296 +#: exec.c:218 pg_upgrade.c:321 #, c-format msgid "could not write to log file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier de traces « %s »" -#: exec.c:245 +#: exec.c:244 #, c-format -msgid "could not open file \"%s\" for reading: %s" -msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %s" +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" -#: exec.c:272 +#: exec.c:270 #, c-format msgid "You must have read and write access in the current directory." msgstr "Vous devez avoir les droits de lecture et d'écriture dans le répertoire actuel." -#: exec.c:325 exec.c:391 +#: exec.c:323 exec.c:389 exec.c:439 #, c-format -msgid "check for \"%s\" failed: %s" -msgstr "échec de la vérification de « %s » : %s" +msgid "check for \"%s\" failed: %m" +msgstr "échec de la vérification de « %s » : %m" -#: exec.c:328 exec.c:394 +#: exec.c:326 exec.c:392 #, c-format msgid "\"%s\" is not a directory" msgstr "« %s » n'est pas un répertoire" -#: exec.c:441 -#, c-format -msgid "check for \"%s\" failed: %m" -msgstr "échec de la vérification de « %s » : %m" - -#: exec.c:446 +#: exec.c:444 #, c-format msgid "check for \"%s\" failed: cannot execute" msgstr "échec de la vérification de « %s » : ne peut pas exécuter" -#: exec.c:456 +#: exec.c:454 #, c-format msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" msgstr "échec de la vérification de « %s » : version incorrecte : « %s » trouvée, « %s » attendue" -#: file.c:43 file.c:64 +#: file.c:44 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors du clonage de la relation « %s.%s » (« %s » à « %s ») : %s" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors du clonage de la relation « %s.%s » (« %s » à « %s ») : %m" -#: file.c:50 +#: file.c:51 #, c-format -msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %s" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %m" -#: file.c:55 +#: file.c:56 #, c-format -msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %s" +msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %m" -#: file.c:90 file.c:193 +#: file.c:65 #, c-format -msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %s" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "erreur lors du clonage de la relation « %s.%s » (« %s » à « %s ») : %s" -#: file.c:95 file.c:202 +#: file.c:91 file.c:160 file.c:233 #, c-format -msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %m" -#: file.c:109 file.c:226 +#: file.c:96 file.c:165 file.c:242 #, c-format -msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu lire le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %m" -#: file.c:121 file.c:304 +#: file.c:110 file.c:266 #, c-format -msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu écrire le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu lire le fichier « %s » : %m" -#: file.c:135 +#: file.c:122 file.c:344 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors de la copie de la relation « %s.%s » (« %s » à « %s ») : %s" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu écrire le fichier « %s » : %m" -#: file.c:154 +#: file.c:136 #, c-format -msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors de la création du lien pour la relation « %s.%s » (« %s » à « %s ») : %s" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors de la copie de la relation « %s.%s » (« %s » à « %s ») : %m" -#: file.c:197 +#: file.c:172 #, c-format -msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu tester le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu exécuter copy_file_range du fichier « %s » au fichier « %s » : %m" -#: file.c:229 +#: file.c:194 +#, c-format +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors de la création du lien pour la relation « %s.%s » (« %s » à « %s ») : %m" + +#: file.c:237 +#, c-format +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu tester le fichier « %s » : %m" + +#: file.c:269 #, c-format msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\"" msgstr "erreur lors de la copie de la relation « %s.%s » : page partielle trouvée dans le fichier « %s »" -#: file.c:331 file.c:348 +#: file.c:371 file.c:387 #, c-format -msgid "could not clone file between old and new data directories: %s" -msgstr "n'a pas pu cloner le fichier entre l'ancien et le nouveau répertoires : %s" +msgid "could not clone file between old and new data directories: %m" +msgstr "n'a pas pu cloner le fichier entre l'ancien et le nouveau répertoires de données : %m" -#: file.c:344 +#: file.c:383 file.c:420 #, c-format -msgid "could not create file \"%s\": %s" -msgstr "n'a pas pu créer le fichier « %s » : %s" +msgid "could not create file \"%s\": %m" +msgstr "n'a pas pu créer le fichier « %s » : %m" -#: file.c:355 +#: file.c:393 #, c-format msgid "file cloning not supported on this platform" msgstr "clonage de fichiers non supporté sur cette plateforme" -#: file.c:372 +#: file.c:424 +#, c-format +msgid "could not copy file range between old and new data directories: %m" +msgstr "n'a pas pu exécuter copy_file_range entre l'ancien et le nouveau répertoires de données : %m" + +#: file.c:430 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range non supporté sur cette plateforme" + +#: file.c:447 #, c-format msgid "" -"could not create hard link between old and new data directories: %s\n" +"could not create hard link between old and new data directories: %m\n" "In link mode the old and new data directories must be on the same file system." msgstr "" -"n'a pas pu créer le lien physique entre l'ancien et le nouveau répertoires de données : %s\n" +"n'a pas pu créer le lien physique entre l'ancien et le nouveau répertoires de données : %m\n" "Dans le mode lien, les ancien et nouveau répertoires de données doivent être sur le même système de fichiers." -#: function.c:128 +#: function.c:154 #, c-format msgid "Checking for presence of required libraries" msgstr "Vérification de la présence des bibliothèques requises" -#: function.c:165 +#: function.c:190 #, c-format msgid "could not load library \"%s\": %s" msgstr "n'a pas pu charger la bibliothèque « %s » : %s" -#: function.c:176 +#: function.c:201 #, c-format msgid "In database: %s\n" msgstr "Dans la base de données : %s\n" -#: function.c:186 +#: function.c:211 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" @@ -949,47 +1191,47 @@ msgstr "" "Une liste des bibliothèques problématiques est disponible dans le fichier :\n" " %s" -#: info.c:126 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Les noms de relation pour l'OID %u dans la base de données « %s » ne correspondent pas : ancien nom « %s.%s », nouveau nom « %s.%s »" -#: info.c:146 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "Échec de correspondance des anciennes et nouvelles tables dans la base de données « %s »" -#: info.c:227 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " qui est un index sur \"%s.%s\"" -#: info.c:237 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " qui est un index sur l'OID %u" -#: info.c:249 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " qui est la table TOAST pour « %s.%s »" -#: info.c:257 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " qui est la table TOAST pour l'OID %u" -#: info.c:261 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "Aucune correspondance trouvée dans l'ancienne instance pour la nouvelle relation d'OID %u dans la base de données « %s » : %s" -#: info.c:264 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "Aucune correspondance trouvée dans la nouvelle instance pour la nouvelle relation d'OID %u dans la base de données « %s » : %s" -#: info.c:289 +#: info.c:300 #, c-format msgid "" "\n" @@ -998,7 +1240,7 @@ msgstr "" "\n" "bases de données sources :" -#: info.c:291 +#: info.c:302 #, c-format msgid "" "\n" @@ -1013,82 +1255,92 @@ msgstr "" # (errcode(ERRCODE_CASE_NOT_FOUND), # errmsg("case not found"), # errhint("CASE statement is missing ELSE part."))); -#: info.c:329 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 introuvable" -#: info.c:645 +#: info.c:805 +#, c-format +msgid "Database: \"%s\"" +msgstr "Base de données : « %s »" + +#: info.c:818 +#, c-format +msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" +msgstr "relname : « %s.%s », reloid : %u, reltblspace : « %s »" + +#: info.c:832 #, c-format -msgid "Database: %s" -msgstr "Base de données : %s" +msgid "Logical replication slots in the database:" +msgstr "Les slots de réplication logique dans la base de données :" -#: info.c:657 +#: info.c:838 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s" -msgstr "relname : %s.%s : reloid : %u reltblspace : %s" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "nom du slot « %s », plugin de sortie « %s », two_phase %s" -#: option.c:101 +#: option.c:105 #, c-format msgid "%s: cannot be run as root" msgstr "%s : ne peut pas être exécuté en tant que root" -#: option.c:168 +#: option.c:172 #, c-format msgid "invalid old port number" msgstr "ancien numéro de port invalide" -#: option.c:173 +#: option.c:177 #, c-format msgid "invalid new port number" msgstr "nouveau numéro de port invalide" -#: option.c:203 +#: option.c:216 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Essayez « %s --help » pour plus d'informations.\n" -#: option.c:210 +#: option.c:223 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: option.c:213 +#: option.c:229 #, c-format msgid "Running in verbose mode" msgstr "Exécution en mode verbeux" -#: option.c:231 +#: option.c:247 msgid "old cluster binaries reside" msgstr "les binaires de l'ancienne instance résident" -#: option.c:233 +#: option.c:249 msgid "new cluster binaries reside" msgstr "les binaires de la nouvelle instance résident" -#: option.c:235 +#: option.c:251 msgid "old cluster data resides" msgstr "les données de l'ancienne instance résident" -#: option.c:237 +#: option.c:253 msgid "new cluster data resides" msgstr "les données de la nouvelle instance résident" -#: option.c:239 +#: option.c:255 msgid "sockets will be created" msgstr "les sockets seront créés" -#: option.c:256 option.c:356 +#: option.c:272 option.c:374 #, c-format msgid "could not determine current directory" msgstr "n'a pas pu déterminer le répertoire courant" -#: option.c:259 +#: option.c:275 #, c-format msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "ne peut pas exécuter pg_upgrade depuis le répertoire de données de la nouvelle instance sur Windows" -#: option.c:268 +#: option.c:284 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" @@ -1097,12 +1349,12 @@ msgstr "" "pg_upgrade met à jour une instance PostgreSQL vers une version majeure\n" "différente.\n" -#: option.c:269 +#: option.c:285 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: option.c:270 +#: option.c:286 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1111,19 +1363,19 @@ msgstr "" " pg_upgrade [OPTION]...\n" "\n" -#: option.c:271 +#: option.c:287 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: option.c:272 +#: option.c:288 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr "" " -b, --old-bindir=RÉP_BIN répertoire des exécutables de l'ancienne\n" " instance\n" -#: option.c:273 +#: option.c:289 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1133,121 +1385,131 @@ msgstr "" " instance (par défaut, le même répertoire que\n" " pg_upgrade)\n" -#: option.c:275 +#: option.c:291 #, c-format msgid " -c, --check check clusters only, don't change any data\n" msgstr "" " -c, --check vérifie seulement les instances, pas de\n" " modifications\n" -#: option.c:276 +#: option.c:292 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=RÉP_DONNÉES répertoire des données de l'ancienne instance\n" -#: option.c:277 +#: option.c:293 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=RÉP_DONNÉES répertoire des données de la nouvelle instance\n" -#: option.c:278 +#: option.c:294 #, c-format msgid " -j, --jobs=NUM number of simultaneous processes or threads to use\n" msgstr "" " -j, --jobs=NUM nombre de processus ou threads simultanés à\n" " utiliser\n" -#: option.c:279 +#: option.c:295 #, c-format msgid " -k, --link link instead of copying files to new cluster\n" msgstr "" " -k, --link lie les fichiers au lieu de les copier vers la\n" " nouvelle instance\n" -#: option.c:280 +#: option.c:296 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --nosync n'attend pas que les modifications soient proprement\n" " écrites sur disque\n" -#: option.c:281 +#: option.c:297 #, c-format msgid " -o, --old-options=OPTIONS old cluster options to pass to the server\n" msgstr "" " -o, --old-options=OPTIONS options à passer au serveur de l'ancienne\n" " instance\n" -#: option.c:282 +#: option.c:298 #, c-format msgid " -O, --new-options=OPTIONS new cluster options to pass to the server\n" msgstr "" " -O, --new-options=OPTIONS options à passer au serveur de la nouvelle\n" " instance\n" -#: option.c:283 +#: option.c:299 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr "" " -p, --old-port=PORT numéro de port de l'ancienne instance (par\n" " défaut %d)\n" -#: option.c:284 +#: option.c:300 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr "" " -P, --new-port=PORT numéro de port de la nouvelle instance (par\n" " défaut %d)\n" -#: option.c:285 +#: option.c:301 #, c-format msgid " -r, --retain retain SQL and log files after success\n" msgstr "" " -r, --retain conserve les fichiers SQL et de traces en cas\n" " de succès\n" -#: option.c:286 +#: option.c:302 #, c-format msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" msgstr "" " -s, --socketdir=RÉP_SOCKET répertoire de la socket à utiliser (par défaut\n" " le répertoire courant)\n" -#: option.c:287 +#: option.c:303 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr "" " -U, --username=NOM super-utilisateur de l'instance (par défaut\n" " « %s »)\n" -#: option.c:288 +#: option.c:304 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr " -v, --verbose active des traces internes verbeuses\n" -#: option.c:289 +#: option.c:305 #, c-format msgid " -V, --version display version information, then exit\n" msgstr " -V, --version affiche la version, puis quitte\n" -#: option.c:290 +#: option.c:306 #, c-format msgid " --clone clone instead of copying files to new cluster\n" msgstr "" " --clone clone au lieu de copier les fichiers vers la\n" " nouvelle instance\n" -#: option.c:291 +#: option.c:307 #, c-format msgid " --copy copy files to new cluster (default)\n" -msgstr " --copy copie les fichiers vers la nouvelle instance (par défaut)\n" +msgstr " --copy copie les fichiers vers la nouvelle instance (par défaut)\n" -#: option.c:292 +#: option.c:308 +#, c-format +msgid " --copy-file-range copy files to new cluster with copy_file_range\n" +msgstr " --copy-file-range copie les fichiers vers la nouvelle instance avec copy_file_range\n" + +#: option.c:309 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: option.c:310 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide, puis quitte\n" -#: option.c:293 +#: option.c:311 #, c-format msgid "" "\n" @@ -1263,7 +1525,7 @@ msgstr "" " arrêter le postmaster de la nouvelle instance\n" "\n" -#: option.c:298 +#: option.c:316 #, c-format msgid "" "\n" @@ -1280,7 +1542,7 @@ msgstr "" " le répertoire « bin » pour l'ancienne version (-b RÉP_BIN)\n" " le répertoire « bin » pour la nouvelle version (-B RÉP_BIN)\n" -#: option.c:304 +#: option.c:322 #, c-format msgid "" "\n" @@ -1293,7 +1555,7 @@ msgstr "" " pg_upgrade -d oldCluster/data -D newCluster/data -b oldCluster/bin -B newCluster/bin\n" "ou\n" -#: option.c:309 +#: option.c:327 #, c-format msgid "" " $ export PGDATAOLD=oldCluster/data\n" @@ -1308,7 +1570,7 @@ msgstr "" " $ export PGBINNEW=newCluster/bin\n" " $ pg_upgrade\n" -#: option.c:315 +#: option.c:333 #, c-format msgid "" " C:\\> set PGDATAOLD=oldCluster/data\n" @@ -1323,7 +1585,7 @@ msgstr "" " C:\\> set PGBINNEW=newCluster/bin\n" " C:\\> pg_upgrade\n" -#: option.c:321 +#: option.c:339 #, c-format msgid "" "\n" @@ -1332,12 +1594,12 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: option.c:322 +#: option.c:340 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: option.c:362 +#: option.c:380 #, c-format msgid "" "You must identify the directory where the %s.\n" @@ -1346,45 +1608,50 @@ msgstr "" "Vous devez identifier le répertoire où le %s.\n" "Merci d'utiliser l'option en ligne de commande %s ou la variable d'environnement %s." -#: option.c:415 +#: option.c:433 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Recherche du vrai répertoire des données pour l'instance source" -#: option.c:417 +#: option.c:435 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Recherche du vrai répertoire des données pour l'instance cible" -#: option.c:430 option.c:435 +#: option.c:448 +#, c-format +msgid "could not get data directory using %s: %m" +msgstr "n'a pas pu obtenir le répertoire des données en utilisant %s : %m" + +#: option.c:452 #, c-format msgid "could not get data directory using %s: %s" msgstr "n'a pas pu obtenir le répertoire des données en utilisant %s : %s" -#: option.c:484 +#: option.c:500 #, c-format -msgid "could not read line %d from file \"%s\": %s" -msgstr "n'a pas pu lire la ligne %d du fichier « %s » : %s" +msgid "could not read line %d from file \"%s\": %m" +msgstr "n'a pas pu lire la ligne %d du fichier « %s » : %m" -#: option.c:501 +#: option.c:517 #, c-format msgid "user-supplied old port number %hu corrected to %hu" msgstr "ancien numéro de port %hu fourni par l'utilisateur corrigé en %hu" #: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s" -msgstr "n'a pas pu créer le processus de travail : %s" +msgid "could not create worker process: %m" +msgstr "n'a pas pu créer le processus worker : %m" #: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s" -msgstr "n'a pas pu créer le fil de travail: %s" +msgid "could not create worker thread: %m" +msgstr "n'a pas pu créer le fil de travail: %m" #: parallel.c:294 #, c-format -msgid "%s() failed: %s" -msgstr "échec de %s() : %s" +msgid "%s() failed: %m" +msgstr "échec de %s() : %m" #: parallel.c:298 #, c-format @@ -1393,15 +1660,15 @@ msgstr "le processus fils a quitté anormalement : statut %d" #: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s" -msgstr "le processus fils a quitté anormalement : %s" +msgid "child worker exited abnormally: %m" +msgstr "le processus fils a quitté anormalement : %m" -#: pg_upgrade.c:107 +#: pg_upgrade.c:115 #, c-format -msgid "could not read permissions of directory \"%s\": %s" -msgstr "n'a pas pu lire les droits du répertoire « %s » : %s" +msgid "could not read permissions of directory \"%s\": %m" +msgstr "n'a pas pu lire les droits du répertoire « %s » : %m" -#: pg_upgrade.c:139 +#: pg_upgrade.c:147 #, c-format msgid "" "\n" @@ -1412,17 +1679,17 @@ msgstr "" "Réalisation de la mise à jour\n" "-----------------------------" -#: pg_upgrade.c:184 +#: pg_upgrade.c:192 #, c-format msgid "Setting next OID for new cluster" msgstr "Configuration du prochain OID sur la nouvelle instance" -#: pg_upgrade.c:193 +#: pg_upgrade.c:216 #, c-format msgid "Sync data directory to disk" msgstr "Synchronisation du répertoire des données sur disque" -#: pg_upgrade.c:205 +#: pg_upgrade.c:230 #, c-format msgid "" "\n" @@ -1433,23 +1700,23 @@ msgstr "" "Mise à jour terminée\n" "--------------------" -#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265 -#: pg_upgrade.c:283 pg_upgrade.c:294 +#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 +#: pg_upgrade.c:308 pg_upgrade.c:319 #, c-format msgid "directory path for new cluster is too long" msgstr "le chemin du répertoire pour la nouvelle instance est trop long" -#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278 +#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: pg_upgrade.c:327 +#: pg_upgrade.c:352 #, c-format msgid "%s: could not find own program executable" msgstr "%s : n'a pas pu trouver l'exécutable du programme" -#: pg_upgrade.c:353 +#: pg_upgrade.c:378 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" @@ -1458,7 +1725,7 @@ msgstr "" "Il semble qu'un postmaster est démarré sur l'ancienne instance.\n" "Merci d'arrêter ce postmaster et d'essayer de nouveau." -#: pg_upgrade.c:366 +#: pg_upgrade.c:391 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" @@ -1467,81 +1734,86 @@ msgstr "" "Il semble qu'un postmaster est démarré sur la nouvelle instance.\n" "Merci d'arrêter ce postmaster et d'essayer de nouveau." -#: pg_upgrade.c:388 +#: pg_upgrade.c:413 #, c-format msgid "Setting locale and encoding for new cluster" msgstr "Configuration de la locale et de l'encodage pour la nouvelle instance" -#: pg_upgrade.c:450 +#: pg_upgrade.c:489 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Analyse de toutes les lignes dans la nouvelle instance" -#: pg_upgrade.c:463 +#: pg_upgrade.c:502 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Gel de toutes les lignes dans la nouvelle instance" -#: pg_upgrade.c:483 +#: pg_upgrade.c:522 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Restauration des objets globaux dans la nouvelle instance" -#: pg_upgrade.c:499 +#: pg_upgrade.c:538 #, c-format msgid "Restoring database schemas in the new cluster" msgstr "Restauration des schémas des bases de données dans la nouvelle instance" -#: pg_upgrade.c:605 +#: pg_upgrade.c:662 #, c-format msgid "Deleting files from new %s" msgstr "Suppression des fichiers à partir du nouveau %s" -#: pg_upgrade.c:609 +#: pg_upgrade.c:666 #, c-format msgid "could not delete directory \"%s\"" msgstr "n'a pas pu supprimer le répertoire « %s »" -#: pg_upgrade.c:628 +#: pg_upgrade.c:685 #, c-format msgid "Copying old %s to new server" msgstr "Copie de l'ancien %s vers le nouveau serveur" -#: pg_upgrade.c:654 +#: pg_upgrade.c:711 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Configuration du plus ancien XID sur la nouvelle instance" -#: pg_upgrade.c:662 +#: pg_upgrade.c:719 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "Configuration du prochain identifiant de transaction et de l'epoch pour la nouvelle instance" -#: pg_upgrade.c:692 +#: pg_upgrade.c:749 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "Configuration du prochain MultiXactId et décalage pour la nouvelle instance" -#: pg_upgrade.c:716 +#: pg_upgrade.c:773 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Configuration du plus ancien identifiant multixact sur la nouvelle instance" -#: pg_upgrade.c:736 +#: pg_upgrade.c:793 #, c-format msgid "Resetting WAL archives" msgstr "Réinitialisation des archives WAL" -#: pg_upgrade.c:779 +#: pg_upgrade.c:836 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Configuration des compteurs frozenxid et minmxid dans la nouvelle instance" -#: pg_upgrade.c:781 +#: pg_upgrade.c:838 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Configuration du compteur minmxid dans la nouvelle instance" +#: pg_upgrade.c:929 +#, c-format +msgid "Restoring logical replication slots in the new cluster" +msgstr "Restauration des slots de réplication logique dans la nouvelle instance" + #: relfilenumber.c:35 #, c-format msgid "Cloning user relation files" @@ -1554,35 +1826,45 @@ msgstr "Copie des fichiers des relations utilisateurs" #: relfilenumber.c:41 #, c-format +msgid "Copying user relation files with copy_file_range" +msgstr "Copie des fichiers des relations utilisateurs avec copy_file_range" + +#: relfilenumber.c:44 +#, c-format msgid "Linking user relation files" msgstr "Création des liens pour les fichiers des relations utilisateurs" -#: relfilenumber.c:115 +#: relfilenumber.c:118 #, c-format msgid "old database \"%s\" not found in the new cluster" msgstr "ancienne base de données « %s » introuvable dans la nouvelle instance" -#: relfilenumber.c:218 +#: relfilenumber.c:221 #, c-format -msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors de la vérification de l'existence du fichier « %s.%s » (« %s » vers « %s ») : %s" +msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors de la vérification de l'existence du fichier « %s.%s » (« %s » vers « %s ») : %m" -#: relfilenumber.c:236 +#: relfilenumber.c:238 #, c-format msgid "rewriting \"%s\" to \"%s\"" msgstr "réécriture de « %s » en « %s »" -#: relfilenumber.c:244 +#: relfilenumber.c:246 #, c-format msgid "cloning \"%s\" to \"%s\"" msgstr "clonage de « %s » en « %s »" -#: relfilenumber.c:249 +#: relfilenumber.c:251 #, c-format msgid "copying \"%s\" to \"%s\"" msgstr "copie de « %s » en « %s »" -#: relfilenumber.c:254 +#: relfilenumber.c:256 +#, c-format +msgid "copying \"%s\" to \"%s\" with copy_file_range" +msgstr "copie de « %s » en « %s » avec copy_file_range" + +#: relfilenumber.c:261 #, c-format msgid "linking \"%s\" to \"%s\"" msgstr "lien de « %s » vers « %s »" @@ -1618,7 +1900,7 @@ msgstr "n'a pas pu ouvrir le fichier de version « %s » : %m" msgid "could not parse version file \"%s\"" msgstr "n'a pas pu analyser le fichier de version « %s »" -#: server.c:288 +#: server.c:310 #, c-format msgid "" "\n" @@ -1627,7 +1909,7 @@ msgstr "" "\n" "%s" -#: server.c:292 +#: server.c:314 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" @@ -1636,7 +1918,7 @@ msgstr "" "n'a pas pu se connecter au postmaster source lancé avec la commande :\n" "%s" -#: server.c:296 +#: server.c:318 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" @@ -1645,22 +1927,22 @@ msgstr "" "n'a pas pu se connecter au postmaster cible lancé avec la commande :\n" "%s" -#: server.c:310 +#: server.c:332 #, c-format msgid "pg_ctl failed to start the source server, or connection failed" msgstr "pg_ctl a échoué à démarrer le serveur source ou connexion échouée" -#: server.c:312 +#: server.c:334 #, c-format msgid "pg_ctl failed to start the target server, or connection failed" msgstr "pg_ctl a échoué à démarrer le serveur cible ou connexion échouée" -#: server.c:357 +#: server.c:379 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: server.c:370 +#: server.c:392 #, c-format msgid "libpq environment variable %s has a non-local server value: %s" msgstr "la variable d'environnement libpq %s a une valeur serveur non locale : %s" @@ -1681,8 +1963,8 @@ msgstr "le répertoire « %s » du tablespace n'existe pas" #: tablespace.c:87 #, c-format -msgid "could not stat tablespace directory \"%s\": %s" -msgstr "n'a pas pu tester le répertoire « %s » du tablespace : %s" +msgid "could not stat tablespace directory \"%s\": %m" +msgstr "n'a pas pu tester le répertoire « %s » du tablespace : %m" #: tablespace.c:92 #, c-format @@ -1704,62 +1986,17 @@ msgstr "n'a pas pu accéder au répertoire « %s » : %m" msgid "ok" msgstr "ok" -#: version.c:184 -#, c-format -msgid "Checking for incompatible \"line\" data type" -msgstr "Vérification des types de données line incompatibles" - -#: version.c:193 -#, c-format -msgid "" -"Your installation contains the \"line\" data type in user tables.\n" -"This data type changed its internal and input/output format\n" -"between your old and new versions so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient le type de données « line » dans vos tables utilisateurs.\n" -"Ce type de données a changé de format interne et en entrée/sortie entre vos ancienne\n" -"et nouvelle versions, donc cette instance ne peut pas être mise à jour\n" -"actuellement. Vous pouvez supprimer les colonnes problématiques et relancer la mise à jour.\n" -"Une liste des colonnes problématiques se trouve dans le fichier :\n" -" %s" - -#: version.c:224 -#, c-format -msgid "Checking for invalid \"unknown\" user columns" -msgstr "Vérification des colonnes utilisateurs « unknown » invalides" - -#: version.c:233 -#, c-format -msgid "" -"Your installation contains the \"unknown\" data type in user tables.\n" -"This data type is no longer allowed in tables, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient le type de données « unknown » dans vos tables\n" -"utilisateurs. Ce type de données n'est plus autorisé dans les tables, donc\n" -"cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" -"supprimer les colonnes problématiques, puis relancer la mise à jour. Vous trouverez\n" -"une liste des colonnes problématiques dans le fichier :\n" -" %s" - -#: version.c:257 +#: version.c:44 #, c-format msgid "Checking for hash indexes" msgstr "Vérification des index hash" -#: version.c:335 +#: version.c:121 #, c-format msgid "warning" msgstr "attention" -#: version.c:337 +#: version.c:123 #, c-format msgid "" "\n" @@ -1774,7 +2011,7 @@ msgstr "" "être recréés avec la commande REINDEX. Après la mise à jour, les instructions\n" "REINDEX vous seront données." -#: version.c:343 +#: version.c:129 #, c-format msgid "" "\n" @@ -1793,39 +2030,17 @@ msgstr "" "une fois exécuté par psql en tant que superutilisateur va recréer tous les\n" "index invalides. Avant cela, aucun de ces index ne sera utilisé." -#: version.c:369 -#, c-format -msgid "Checking for invalid \"sql_identifier\" user columns" -msgstr "Vérification des colonnes utilisateurs « sql_identifier » invalides" - -#: version.c:379 -#, c-format -msgid "" -"Your installation contains the \"sql_identifier\" data type in user tables.\n" -"The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient le type de données « sql_identifier » dans les tables\n" -"utilisateurs. Le format sur disque pour ce type de données a changé,\n" -"donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer\n" -"les colonnes problématiques, puis relancer la mise à jour.\n" -"Une liste des colonnes problématiques se trouve dans le fichier :\n" -" %s" - -#: version.c:402 +#: version.c:153 #, c-format msgid "Checking for extension updates" msgstr "Vérification des mises à jour d'extension" -#: version.c:450 +#: version.c:200 #, c-format msgid "notice" msgstr "notice" -#: version.c:451 +#: version.c:201 #, c-format msgid "" "\n" @@ -1969,6 +2184,10 @@ msgstr "" #~ msgid "%s is not a directory\n" #~ msgstr "%s n'est pas un répertoire\n" +#, c-format +#~ msgid "%s() failed: %s" +#~ msgstr "échec de %s() : %s" + #, c-format #~ msgid "%s.%s: %u to %u\n" #~ msgstr "%s.%s : %u vers %u\n" @@ -1995,6 +2214,10 @@ msgstr "" #~ msgid "Cannot read line %d from %s: %m\n" #~ msgstr "Ne peut pas lire la ligne %d à partir de %s : %m\n" +#, c-format +#~ msgid "Checking for incompatible \"jsonb\" data type" +#~ msgstr "Vérification des types de données « jsonb » incompatibles" + #, c-format #~ msgid "Checking for large objects" #~ msgstr "Vérification des Large Objects" @@ -2051,6 +2274,10 @@ msgstr "" #~ msgid "cannot write to log file %s\n" #~ msgstr "ne peut pas écrire dans le fichier de traces %s\n" +#, c-format +#~ msgid "check for \"%s\" failed: %s" +#~ msgstr "échec de la vérification de « %s » : %s" + #, c-format #~ msgid "check for \"%s\" failed: cannot execute (permission denied)\n" #~ msgstr "échec de la vérification de « %s » : ne peut pas exécuter (droit refusé)\n" @@ -2073,6 +2300,14 @@ msgstr "" #~ msgid "could not create directory \"%s\": %m\n" #~ msgstr "n'a pas pu créer le répertoire « %s » : %m\n" +#, c-format +#~ msgid "could not create file \"%s\": %s" +#~ msgstr "n'a pas pu créer le fichier « %s » : %s" + +#, c-format +#~ msgid "could not create worker process: %s" +#~ msgstr "n'a pas pu créer le processus de travail : %s" + #~ msgid "" #~ "could not load library \"%s\":\n" #~ "%s\n" @@ -2080,6 +2315,14 @@ msgstr "" #~ "n'a pas pu charger la biblothèque « %s »:\n" #~ "%s\n" +#, c-format +#~ msgid "could not open file \"%s\" for reading: %s" +#~ msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %s" + +#, c-format +#~ msgid "could not open file \"%s\": %s" +#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s" + #, c-format #~ msgid "could not open file \"%s\": %s\n" #~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s\n" @@ -2091,6 +2334,10 @@ msgstr "" #~ msgid "could not parse PG_VERSION file from %s\n" #~ msgstr "n'a pas pu analyser le fichier PG_VERSION à partir de %s\n" +#, c-format +#~ msgid "could not read permissions of directory \"%s\": %s" +#~ msgstr "n'a pas pu lire les droits du répertoire « %s » : %s" + #, c-format #~ msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" #~ msgstr "les encodages de la base de données « %s » ne correspondent pas : ancien « %s », nouveau « %s »\n" @@ -2123,10 +2370,6 @@ msgstr "" #~ msgid "mappings for database \"%s\":\n" #~ msgstr "correspondances pour la base de données « %s » :\n" -#, c-format -#~ msgid "out of memory\n" -#~ msgstr "mémoire épuisée\n" - #, c-format #~ msgid "too many command-line arguments (first is \"%s\")\n" #~ msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)\n" diff --git a/src/bin/pg_upgrade/po/ka.po b/src/bin/pg_upgrade/po/ka.po index a9b1213aa764f..32e65f524278f 100644 --- a/src/bin/pg_upgrade/po/ka.po +++ b/src/bin/pg_upgrade/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:20+0000\n" -"PO-Revision-Date: 2024-06-14 06:15+0200\n" +"POT-Creation-Date: 2024-08-27 16:50+0000\n" +"PO-Revision-Date: 2024-08-28 06:05+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -228,7 +228,7 @@ msgstr "" #: check.c:345 #, c-format -msgid "Checking for data type usage" +msgid "Checking data type usage" msgstr "მონაცემის ტიპის გამოყენების შემოწმება" #: check.c:480 @@ -240,9 +240,9 @@ msgstr " ჩავარდა შემოწმება: %s" msgid "A list of the problem columns is in the file:" msgstr "პრობლემური სვეტების სია არის ფაილში:" -#: check.c:495 check.c:961 check.c:1134 check.c:1249 check.c:1343 check.c:1471 -#: check.c:1547 check.c:1611 check.c:1684 check.c:1866 check.c:1885 -#: check.c:1954 check.c:2006 file.c:378 file.c:415 function.c:189 option.c:493 +#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473 +#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884 +#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493 #: version.c:79 version.c:177 #, c-format msgid "could not open file \"%s\": %m" @@ -271,7 +271,7 @@ msgstr "" "თანმიმდევრულობის შემოწმების ჩატარება\n" "-----------------------------" -#: check.c:716 +#: check.c:718 #, c-format msgid "" "\n" @@ -280,7 +280,7 @@ msgstr "" "\n" "*კლასტერები თავსებადია *" -#: check.c:724 +#: check.c:726 #, c-format msgid "" "\n" @@ -291,7 +291,7 @@ msgstr "" "თუ ამ წერტილის შემდეგ pg_upgrade ავარიულად დასრულდება, გაგრძელებამდე\n" "ახალი კლასტერის init-db-ის გაკეთება შეიძლება თავიდან მოგიწიოთ." -#: check.c:765 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -302,7 +302,7 @@ msgstr "" "როცა ახალ სერვერს გაუშვებთ, შეასრულეთ ბრძანება:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:771 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -311,7 +311,7 @@ msgstr "" "ამ სკრიპტის გაშვება ძველი კლასტერის მონაცემების ფაილებს წაშლის:\n" " %s" -#: check.c:776 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -324,57 +324,57 @@ msgstr "" "ძველი კლასტერის მონაცემების წაშლის სკრიპტის შექმნა შეუძლებელია. ძველი კლასტერის\n" " შემცველობა ხელით უნდა წაშალოთ." -#: check.c:788 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "კლასტერის ვერსიების შემოწმება" -#: check.c:800 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "ამ პროგრამას განახლება PostgreSQL-ის ვერსიის %s-დან და ზემოთ შეუძლია." -#: check.c:805 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "ამ პროგრამას შეუძლია მხოლოდ PostgreSQL ვერსიაზე გადასვლა %s." -#: check.c:814 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "ეს პროგრამა არ შეიძლება გამოყენებულ იქნას უფრო ძველი ძირითადი PostgreSQL ვერსიების ჩამოსაწევად." -#: check.c:819 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "ძველი კლასტერის მონაცემები და გამშვები ფაილის საქაღალდეები სხვადასხვა ძირითადი ვერსიიდანაა." -#: check.c:822 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "ახალი კლასტერის მონაცემებისა და გამშვები ფაილების საქაღალდეები სხვადასხვა ძირითად ვერსიებს მიეკუთვნება." -#: check.c:837 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "ცოცხალი სერვერის შემოწმებისას ძველი და ახალი პორტის ნომრები სხვადასხვა უნდა იყოს." -#: check.c:857 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "ახალი კლასტერული მონაცემთა ბაზა \"%s\" ცარიელი არაა: ნაპოვნია ურთიერთობა \"%s.%s\"" -#: check.c:880 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "ახალი კლასტერის ცხრილების სივრცის საქაღალდეების შემოწმება" -#: check.c:891 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "ახალი კლასტერის ცხრილების სივრცის საქაღალდე უკვე არსებობს: \"%s\"" -#: check.c:924 +#: check.c:926 #, c-format msgid "" "\n" @@ -383,7 +383,7 @@ msgstr "" "\n" "გაფრთხილება: ახალი მონაცემების საქაღალდე ძველი მონაცემების საქაღალდის შიგნით არ უნდა იყოს. მაგ: %s" -#: check.c:948 +#: check.c:950 #, c-format msgid "" "\n" @@ -392,53 +392,53 @@ msgstr "" "\n" "გაფრთხილება: მომხმარებლის მიერ აღწერილი ცხრილის სივრცეების მდებარეობები მონაცემების საქაღალდის შიგნით არ უნდა იყოს. მაგ: %s" -#: check.c:958 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "ძველი კლასტერის წასაშლელად სკრიპტის შექმნა" -#: check.c:1012 +#: check.c:1014 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "ფაილზე \"%s\" გაშვების წვდომის დამატების შეცდომა: %m" -#: check.c:1032 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "შემოწმება, დამყენებელი მომხმარებელი დაყენების მომხმარებელს თუ უდრის" -#: check.c:1048 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "მონაცემთა ბაზის მომხმარებელი \"%s\" არ არის დაყენების მომხმარებელი" -#: check.c:1059 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "ვერ დადგინდა მომხმარებელთა რაოდენობა" -#: check.c:1067 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "ახალი კლასტერისთვის მხოლოდ დაყენების მომხმარებლის მითითებაა შესაძლებელი." -#: check.c:1096 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "მონაცემთა ბაზის კავშირის პარამეტრების შემოწმება" -#: check.c:1122 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0-თან დაკავშირება შეუძლებელი უნდა იყოს. ანუ, მისი pg_database.datallowconn პარამეტრი false უნდა იყოს" -#: check.c:1148 check.c:1268 check.c:1365 check.c:1490 check.c:1566 -#: check.c:1624 check.c:1704 check.c:1898 check.c:2023 function.c:210 +#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568 +#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210 #, c-format msgid "fatal" msgstr "ფატალური" -#: check.c:1149 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -457,27 +457,27 @@ msgstr "" "პრობლემური ბაზების სიის ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1174 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "მომზადებული ტრანზაქციების შემოწმება" -#: check.c:1183 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "საწყისი კლასტერი მომზადებულ ტრანზაქციებს შეიცავს" -#: check.c:1185 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "სამიზნე კლასტერი მომზადებულ ტრანზაქციებს შეიცავს" -#: check.c:1210 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "\"contrib/isn\"-ის bgint-passing-ის არ-დამთხვევაზე შემოწმება" -#: check.c:1269 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -494,12 +494,12 @@ msgstr "" ", განაახლოთ ბაზა და აღადგინოთ ფუნქციები. პრობლემური ფუნქციების სია შეგიძლიათ იხილოთ ფაილში:\n" " %s" -#: check.c:1291 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "მომხმარებლის მიერ აღწერილი postfix ოპერატორების არსებობის შემოწმება" -#: check.c:1366 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -514,12 +514,12 @@ msgstr "" "მომხმარებლის მიერ აღწერილი postfix ოპერატორების სიის ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1390 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "შეუთავსებელი პოლიმორფული ფუნქციების არსებობის შემოწმება" -#: check.c:1491 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -538,12 +538,12 @@ msgstr "" "ფაილში არსებული პრობლემური ობიექტები:\n" " %s" -#: check.c:1515 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "WITH OIDS ცხრილების შემოწმება" -#: check.c:1567 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -558,12 +558,12 @@ msgstr "" "ცხრილების სია, რომელსაც ეს პრობლემა გააჩნიათ, შეგიძლიათ იხილოთ ფაილში:\n" " %s" -#: check.c:1594 +#: check.c:1596 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "როლების შემოწმება, რომლებიც \"pg_\"-ით იწყება" -#: check.c:1625 +#: check.c:1627 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -578,12 +578,12 @@ msgstr "" "როლების სია, რომლებიც \"pg_\"-ით იწყებიან, შეგიძლიათ იპოვოთ ფაილში:\n" " %s" -#: check.c:1645 +#: check.c:1647 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "მომხმარებლის მიერ განსაზღვრული კოდირების კონვერტაციის შემოწმება" -#: check.c:1705 +#: check.c:1707 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -599,55 +599,55 @@ msgstr "" "მომხმარებლის მიერ აღწერილი გადაყვანების ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1744 +#: check.c:1746 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "ახალი კლასტერის ლოგიკური რეპლიკაციის სლოტების შემოწმება" -#: check.c:1752 +#: check.c:1754 #, c-format msgid "could not count the number of logical replication slots" msgstr "ლოგიკური რეპლიკაციის სლოტების რაოდენობის დათვლა შეუძლებელია" -#: check.c:1757 +#: check.c:1759 #, c-format -msgid "Expected 0 logical replication slots but found %d." -msgstr "მოველოდი 0 ლოგიკური რეპლიკაციის სლოტს. მივიღე %d." +msgid "expected 0 logical replication slots but found %d" +msgstr "მოველოდი 0 ლოგიკური რეპლიკაციის სლოტს, მაგრამ, მივიღე %d" -#: check.c:1767 check.c:1821 +#: check.c:1769 check.c:1820 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "ახალ კლასტერზე პარამეტრის მნიშვნელობების დადგენა შეუძლებელია" -#: check.c:1772 +#: check.c:1774 #, c-format -msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" msgstr "\"wal_level\" უნდა იყოს \"logical\", მაგრამ მნიშვნელობაა \"%s\"" -#: check.c:1778 +#: check.c:1780 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster" msgstr "\"max_replication_slots\" (%d) ძველი კლასტერის ლოგიკური რეპლიკაციების სლოტების რაოდენობაზე (%d) მეტი ან ტოლი უნდა იყოს" -#: check.c:1813 +#: check.c:1812 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "ახალი კლასტერის კონფიგურაციის გამოწერებზე შემოწმება" -#: check.c:1825 +#: check.c:1824 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster" msgstr "\"max_replication_slots\" (%d) ძველი კლასტერის გამოწერების რაოდენობაზე (%d) მეტი ან ტოლი უნდა იყოს" -#: check.c:1847 +#: check.c:1846 #, c-format msgid "Checking for valid logical replication slots" msgstr "სწორ ლოგიკური რეპლიკაციის სლოტებზე შემოწმება" -#: check.c:1899 +#: check.c:1898 #, c-format msgid "" -"Your installation contains logical replication slots that can't be upgraded.\n" +"Your installation contains logical replication slots that cannot be upgraded.\n" "You can remove invalid slots and/or consume the pending WAL for other slots,\n" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" @@ -659,12 +659,12 @@ msgstr "" "პრობლემური სლოტების ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1923 +#: check.c:1922 #, c-format msgid "Checking for subscription state" msgstr "გამოწერის მდგომარეობის შემოწმება" -#: check.c:2024 +#: check.c:2023 #, c-format msgid "" "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" @@ -1179,47 +1179,47 @@ msgstr "" "პრობლემური ბიბლიოთეკების სიის ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: info.c:129 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "ურთიერთობის სახელები OID-ით %u ბაზაში \"%s\" არ ემთხვევა: ძველი სახელი \"%s.%s.\", ახალი კი \"%s.%s\"" -#: info.c:149 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "შეცდომა ძველ და ახალ ცხრილებს შორის დამთხვევისას ბაზაში \"%s\"" -#: info.c:230 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " რომელიც ინდექსია \"%s.%s\"" -#: info.c:240 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " რაც არის ინდექსი OID-ზე %u" -#: info.c:252 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " რომელიც TOAST ცხრილია \"%s.%s\"-სთვის" -#: info.c:260 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " რომელიც TOAST ცხრილია %u-ე OID-სთვის" -#: info.c:264 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "ძველ კლასტერში ახალი ურთიერთობისთვის OID -ით %u ბაზაში \"%s\" დამთხვევა ვერ ვიპოვე: %s" -#: info.c:267 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "ახალ კლასტერში ძველი ურთიერთობისთვის OID -ით %u ბაზაში \"%s\" დამთხვევა ვერ ვიპოვე: %s" -#: info.c:308 +#: info.c:300 #, c-format msgid "" "\n" @@ -1228,7 +1228,7 @@ msgstr "" "\n" "საწყისი ბაზები:" -#: info.c:310 +#: info.c:302 #, c-format msgid "" "\n" @@ -1237,30 +1237,30 @@ msgstr "" "\n" "სამიზნე ბაზები:" -#: info.c:354 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 ნაპოვნი არაა" -#: info.c:842 +#: info.c:805 #, c-format msgid "Database: \"%s\"" msgstr "მონაცემთა ბაზაში: \"%s\"" -#: info.c:855 +#: info.c:818 #, c-format msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" msgstr "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" -#: info.c:869 +#: info.c:832 #, c-format -msgid "Logical replication slots within the database:" -msgstr "ლოგიკური რეპლიკაციის სლოტები მონაცემთა ბაზის შიგნით:" +msgid "Logical replication slots in the database:" +msgstr "ლოგიკური რეპლიკაციის სლოტები მონაცემთა ბაზაში:" -#: info.c:875 +#: info.c:838 #, c-format -msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" -msgstr "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "სლოტი სახელი: \"%s\", გამოტანის დამატება: \"%s\", two_phase: %s" #: option.c:105 #, c-format diff --git a/src/bin/pg_upgrade/po/sv.po b/src/bin/pg_upgrade/po/sv.po index 8f5b25ce9d7f4..9ee528422d176 100644 --- a/src/bin/pg_upgrade/po/sv.po +++ b/src/bin/pg_upgrade/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-12 17:50+0000\n" -"PO-Revision-Date: 2024-07-13 11:49+0200\n" +"POT-Creation-Date: 2024-08-26 23:50+0000\n" +"PO-Revision-Date: 2024-08-27 07:16+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -224,7 +224,7 @@ msgstr "" #: check.c:345 #, c-format -msgid "Checking for data type usage" +msgid "Checking data type usage" msgstr "Letar efter användning av datatyp" #: check.c:480 @@ -236,9 +236,9 @@ msgstr " misslyckad kontroll: %s" msgid "A list of the problem columns is in the file:" msgstr "En lista med problemkolumner finns i filen:" -#: check.c:495 check.c:961 check.c:1134 check.c:1249 check.c:1343 check.c:1471 -#: check.c:1547 check.c:1611 check.c:1684 check.c:1866 check.c:1885 -#: check.c:1954 check.c:2006 file.c:378 file.c:415 function.c:189 option.c:493 +#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473 +#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884 +#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493 #: version.c:79 version.c:177 #, c-format msgid "could not open file \"%s\": %m" @@ -267,7 +267,7 @@ msgstr "" "Utför konsistenskontroller\n" "--------------------------" -#: check.c:716 +#: check.c:718 #, c-format msgid "" "\n" @@ -276,7 +276,7 @@ msgstr "" "\n" "*Klustren är kompatibla*" -#: check.c:724 +#: check.c:726 #, c-format msgid "" "\n" @@ -287,7 +287,7 @@ msgstr "" "Om pg_upgrade misslyckas efter denna punkt så måste du\n" "köra om initdb på nya klustret innan du fortsätter." -#: check.c:765 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -298,7 +298,7 @@ msgstr "" "När du startar nya servern så vill du nog köra:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:771 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -307,7 +307,7 @@ msgstr "" "När detta skript körs så raderas gamla klustrets datafiler:\n" " %s" -#: check.c:776 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -320,57 +320,57 @@ msgstr "" "ligger i gamla klusterkatalogen. Det gamla klustrets innehåll\n" "måste raderas för hand." -#: check.c:788 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Kontrollerar klustrets versioner" -#: check.c:800 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Detta verktyg kan bara uppgradera från PostgreSQL version %s eller senare." -#: check.c:805 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Detta verktyg kan bara uppgradera till PostgreSQL version %s." -#: check.c:814 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Detta verktyg kan inte användas för att nergradera till äldre major-versioner av PostgreSQL." -#: check.c:819 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Gammal klusterdata och binära kataloger är från olika major-versioner." -#: check.c:822 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Nya klusterdata och binära kataloger är från olika major-versioner." -#: check.c:837 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Vid kontroll av en live-server så måste gamla och nya portnumren vara olika." -#: check.c:857 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "Nya databasklustret \"%s\" är inte tomt: hittade relation \"%s.%s\"" -#: check.c:880 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Letar efter nya tablespace-kataloger i klustret" -#: check.c:891 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "i klustret finns redan ny tablespace-katalog: \"%s\"" -#: check.c:924 +#: check.c:926 #, c-format msgid "" "\n" @@ -379,7 +379,7 @@ msgstr "" "\n" "VARNING: nya datakatalogen skall inte ligga inuti den gamla datakatalogen, dvs. %s" -#: check.c:948 +#: check.c:950 #, c-format msgid "" "\n" @@ -388,53 +388,53 @@ msgstr "" "\n" "VARNING: användardefinierade tabellutrymmens plats skall inte vara i datakatalogen, dvs. %s" -#: check.c:958 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Skapar skript för att radera gamla klustret" -#: check.c:1012 +#: check.c:1014 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "kunde inte lägga till rättigheten \"körbar\" på filen \"%s\": %m" -#: check.c:1032 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Kontrollerar att databasanvändaren är installationsanvändaren" -#: check.c:1048 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "databasanvändare \"%s\" är inte installationsanvändaren" -#: check.c:1059 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "kunde inte bestämma antalet användare" -#: check.c:1067 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Bara installationsanvändaren får finnas i nya klustret." -#: check.c:1096 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Kontrollerar databasens anslutningsinställningar" -#: check.c:1122 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 får inte tillåta anslutningar, dvs dess pg_database.datallowconn måste vara false" -#: check.c:1148 check.c:1268 check.c:1365 check.c:1490 check.c:1566 -#: check.c:1624 check.c:1704 check.c:1898 check.c:2023 function.c:210 +#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568 +#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210 #, c-format msgid "fatal" msgstr "fatalt" -#: check.c:1149 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -453,27 +453,27 @@ msgstr "" "problemdatabaser finns i filen:\n" " %s" -#: check.c:1174 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Letar efter förberedda transaktioner" -#: check.c:1183 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "Källklustret innehåller förberedda transaktioner" -#: check.c:1185 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "Målklustret innehåller förberedda transaktioner" -#: check.c:1210 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Letar efter contrib/isn med bigint-anropsfel" -#: check.c:1269 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -492,12 +492,12 @@ msgstr "" "En lista med problemfunktionerna finns i filen:\n" " %s" -#: check.c:1291 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Letar efter användardefinierade postfix-operatorer" -#: check.c:1366 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -512,12 +512,12 @@ msgstr "" "En lista med användardefinierade postfix-operatorer finns i filen:\n" " %s" -#: check.c:1390 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Letar efter inkompatibla polymorfa funktioner" -#: check.c:1491 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -538,12 +538,12 @@ msgstr "" "En lista med problemobjekten finns i filen:\n" " %s" -#: check.c:1515 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Letar efter tabeller med WITH OIDS" -#: check.c:1567 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -558,12 +558,12 @@ msgstr "" "En lista över tabeller med detta problem finns i filen:\n" " %s" -#: check.c:1594 +#: check.c:1596 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Letar efter roller som startar med \"pg_\"" -#: check.c:1625 +#: check.c:1627 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -578,12 +578,12 @@ msgstr "" "En lista med rollerna som startar på \"pg_\" finns i denna fil:\n" " %s" -#: check.c:1645 +#: check.c:1647 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Letar efter användardefinierade teckenkodkonverteringar" -#: check.c:1705 +#: check.c:1707 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -600,55 +600,55 @@ msgstr "" "En lista med användardefinierade teckenkodkonverteringar finns i filen:\n" " %s" -#: check.c:1744 +#: check.c:1746 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "Letar efter replikeringsslottar i nya klustret" -#: check.c:1752 +#: check.c:1754 #, c-format msgid "could not count the number of logical replication slots" msgstr "kunde inte räkna antalet logiska replikeringsslottar" -#: check.c:1757 +#: check.c:1759 #, c-format -msgid "Expected 0 logical replication slots but found %d." -msgstr "Förväntade 0 logiska replikeringsslottar men hittade %d." +msgid "expected 0 logical replication slots but found %d" +msgstr "förväntade 0 logiska replikeringsslottar men hittade %d." -#: check.c:1767 check.c:1821 +#: check.c:1769 check.c:1820 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "kunde inte plocka fram inställningar i det nya klustret" -#: check.c:1772 +#: check.c:1774 #, c-format -msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" -msgstr "\"wal_level\" måste vara satt till \"logical\" men är satt som \"%s\"." +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "\"wal_level\" måste vara satt till \"logical\" men är satt som \"%s\"" -#: check.c:1778 +#: check.c:1780 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster" msgstr "\"max_replication_slots\" (%d) måste vara större än eller lika med antalet logiska replikeringsslottar (%d) i gamla klustret" -#: check.c:1813 +#: check.c:1812 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "Letar efter konfiguration för prenumerationer i nya klustret" -#: check.c:1825 +#: check.c:1824 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster" msgstr "\"max_replication_slots\" (%d) måste vara större än eller lika med antaler prenumerationer (%d) i gamla klustret" -#: check.c:1847 +#: check.c:1846 #, c-format msgid "Checking for valid logical replication slots" msgstr "Letar efter giltiga logiska replikeringsslottar" -#: check.c:1899 +#: check.c:1898 #, c-format msgid "" -"Your installation contains logical replication slots that can't be upgraded.\n" +"Your installation contains logical replication slots that cannot be upgraded.\n" "You can remove invalid slots and/or consume the pending WAL for other slots,\n" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" @@ -660,12 +660,12 @@ msgstr "" "En lista med problemkolumner finns i filen:\n" " %s" -#: check.c:1923 +#: check.c:1922 #, c-format msgid "Checking for subscription state" msgstr "Kontrollerar läget för prenumerationer" -#: check.c:2024 +#: check.c:2023 #, c-format msgid "" "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" @@ -1182,47 +1182,47 @@ msgstr "" "med problembiblioteken finns i filen:\n" " %s" -#: info.c:129 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Relationsname för OID %u i databas \"%s\" matchar inte: gammalt namn \"%s.%s\", nytt namn \"%s.%s\"" -#: info.c:149 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "Misslyckades med att matcha ihop gamla och nya tabeller i databas \"%s\"" -#: info.c:230 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " vilket är ett index för \"%s.%s\"" -#: info.c:240 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " vilket är ett index för OID %u" -#: info.c:252 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " vilket är TOAST-tabellen för \"%s.%s\"" -#: info.c:260 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " vilket är TOAST-tabellen för OID %u" -#: info.c:264 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "Ingen träff hittad i gamla klustret för ny relation med OID %u i databas \"%s\": %s" -#: info.c:267 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "Ingen träff hittad i nya klustret för gammal relation med OID %u i databas \"%s\": %s" -#: info.c:308 +#: info.c:300 #, c-format msgid "" "\n" @@ -1231,7 +1231,7 @@ msgstr "" "\n" "källdatabaser:" -#: info.c:310 +#: info.c:302 #, c-format msgid "" "\n" @@ -1240,30 +1240,30 @@ msgstr "" "\n" "måldatabaser:" -#: info.c:354 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "hittade inte template0" -#: info.c:842 +#: info.c:805 #, c-format msgid "Database: \"%s\"" msgstr "Databas: \"%s\"" -#: info.c:855 +#: info.c:818 #, c-format msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" msgstr "relnamn: \"%s.%s\": reloid: %u reltblutrymme: \"%s\"" -#: info.c:869 +#: info.c:832 #, c-format -msgid "Logical replication slots within the database:" -msgstr "Logiska replikeringsslottar i nya databasen:" +msgid "Logical replication slots in the database:" +msgstr "Logiska replikeringsslottar i databasen:" -#: info.c:875 +#: info.c:838 #, c-format -msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" -msgstr "slot_name \"%s\", plugin \"%s\", two_phase \"%s\"" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "slot_name \"%s\", utdata-plugin \"%s\", two_phase \"%s\"" #: option.c:105 #, c-format diff --git a/src/bin/pg_verifybackup/po/de.po b/src/bin/pg_verifybackup/po/de.po index 7cc195ecc94a5..f298b9f978f64 100644 --- a/src/bin/pg_verifybackup/po/de.po +++ b/src/bin/pg_verifybackup/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 07:48+0000\n" -"PO-Revision-Date: 2024-05-24 15:40+0200\n" +"POT-Creation-Date: 2024-08-29 13:18+0000\n" +"PO-Revision-Date: 2024-08-29 16:47+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -280,7 +280,7 @@ msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" #: ../../common/parse_manifest.c:662 diff --git a/src/bin/pg_verifybackup/po/fr.po b/src/bin/pg_verifybackup/po/fr.po index da8c72f64271a..e2acdb791470b 100644 --- a/src/bin/pg_verifybackup/po/fr.po +++ b/src/bin/pg_verifybackup/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:17+0000\n" -"PO-Revision-Date: 2023-09-05 07:49+0200\n" +"POT-Creation-Date: 2024-08-29 17:48+0000\n" +"PO-Revision-Date: 2024-08-30 08:30+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,6 +41,81 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/controldata_utils.c:170 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "mémoire épuisée" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "succès" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "tampon de destination trop petit" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "échec OpenSSL" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -52,391 +127,407 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" -#: ../../common/jsonapi.c:1144 +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "L'analyseur (parser) en descente récursive ne peut pas utiliser l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "L'analyser (parser) incrémental nécessite l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON trop profondément imbriqué, profondeur maximum permise est 6400." + +#: ../../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "La séquence d'échappement « \\%s » est invalide." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La séquence d'échappement « \\%.*s » est invalide." -#: ../../common/jsonapi.c:1147 +#: ../../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Le caractère de valeur 0x%02x doit être échappé." -#: ../../common/jsonapi.c:1150 +#: ../../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Attendait une fin de l'entrée, mais a trouvé « %s »." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Fin de l'entrée attendue, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1153 +#: ../../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %s »." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1156 +#: ../../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "« , » ou « ] » attendu, mais trouvé « %s »." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "« , » ou « ] » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1159 +#: ../../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "« : » attendu, mais trouvé « %s »." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "« : » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1162 +#: ../../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Valeur JSON attendue, mais « %s » trouvé." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Valeur JSON attendue, mais « %.*s » trouvé." -#: ../../common/jsonapi.c:1165 +#: ../../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "La chaîne en entrée se ferme de manière inattendue." -#: ../../common/jsonapi.c:1167 +#: ../../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Chaîne ou « } » attendu, mais « %s » trouvé." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Chaîne ou « } » attendu, mais « %.*s » trouvé." -#: ../../common/jsonapi.c:1170 +#: ../../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "« , » ou « } » attendu, mais trouvé « %s »." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "« , » ou « } » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1173 +#: ../../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Chaîne attendue, mais « %s » trouvé." +msgid "Expected string, but found \"%.*s\"." +msgstr "Chaîne attendue, mais « %.*s » trouvé." -#: ../../common/jsonapi.c:1176 +#: ../../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Le jeton « %s » n'est pas valide." +msgid "Token \"%.*s\" is invalid." +msgstr "Le jeton « %.*s » n'est pas valide." -#: ../../common/jsonapi.c:1179 +#: ../../common/jsonapi.c:2164 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 ne peut pas être converti en texte." -#: ../../common/jsonapi.c:1181 +#: ../../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux." -#: ../../common/jsonapi.c:1184 +#: ../../common/jsonapi.c:2169 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8." -#: ../../common/jsonapi.c:1187 +#: ../../common/jsonapi.c:2178 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "La valeur d'échappement unicode ne peut pas être traduite dans l'encodage du serveur %s." -#: ../../common/jsonapi.c:1190 +#: ../../common/jsonapi.c:2185 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute." -#: ../../common/jsonapi.c:1192 +#: ../../common/jsonapi.c:2187 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute." -#: parse_manifest.c:150 -msgid "parsing failed" -msgstr "échec de l'analyse" +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "n'a pas pu initialiser la somme de contrôle du manifeste" -#: parse_manifest.c:152 +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 msgid "manifest ended unexpectedly" msgstr "le manifeste se termine de façon inattendue" -#: parse_manifest.c:191 +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:302 msgid "unexpected object start" msgstr "début d'objet inattendu" -#: parse_manifest.c:226 +#: ../../common/parse_manifest.c:337 msgid "unexpected object end" msgstr "fin d'objet inattendue" -#: parse_manifest.c:255 +#: ../../common/parse_manifest.c:366 msgid "unexpected array start" msgstr "début de tableau inattendu" -#: parse_manifest.c:280 +#: ../../common/parse_manifest.c:391 msgid "unexpected array end" msgstr "fin de tableau inattendue" -#: parse_manifest.c:307 +#: ../../common/parse_manifest.c:418 msgid "expected version indicator" msgstr "indicateur de version inattendu" -#: parse_manifest.c:336 +#: ../../common/parse_manifest.c:454 msgid "unrecognized top-level field" msgstr "champ haut niveau inconnu" -#: parse_manifest.c:355 +#: ../../common/parse_manifest.c:473 msgid "unexpected file field" msgstr "champ de fichier inattendu" -#: parse_manifest.c:369 +#: ../../common/parse_manifest.c:487 msgid "unexpected WAL range field" msgstr "champ d'intervalle de WAL inattendu" -#: parse_manifest.c:375 +#: ../../common/parse_manifest.c:493 msgid "unexpected object field" msgstr "champ d'objet inattendu" -#: parse_manifest.c:407 +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "scalaire inattendu" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la version du manifeste n'est pas un entier" + +#: ../../common/parse_manifest.c:613 msgid "unexpected manifest version" msgstr "version du manifeste inattendue" -#: parse_manifest.c:458 -msgid "unexpected scalar" -msgstr "scalaire inattendu" +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "l'identifieur système dans le manifeste n'est pas un entier" -#: parse_manifest.c:484 +#: ../../common/parse_manifest.c:662 msgid "missing path name" msgstr "nom de chemin manquant" -#: parse_manifest.c:487 +#: ../../common/parse_manifest.c:665 msgid "both path name and encoded path name" msgstr "le nom du chemin et le nom du chemin encodé" -#: parse_manifest.c:489 +#: ../../common/parse_manifest.c:667 msgid "missing size" msgstr "taille manquante" -#: parse_manifest.c:492 +#: ../../common/parse_manifest.c:670 msgid "checksum without algorithm" msgstr "somme de contrôle sans algorithme" -#: parse_manifest.c:506 +#: ../../common/parse_manifest.c:684 msgid "could not decode file name" msgstr "n'a pas pu décoder le nom du fichier" -#: parse_manifest.c:516 +#: ../../common/parse_manifest.c:694 msgid "file size is not an integer" msgstr "la taille du fichier n'est pas un entier" -#: parse_manifest.c:522 +#: ../../common/parse_manifest.c:700 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "algorithme de somme de contrôle inconnu : « %s »" -#: parse_manifest.c:541 +#: ../../common/parse_manifest.c:719 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "somme de contrôle invalide pour le fichier « %s » : « %s »" -#: parse_manifest.c:584 +#: ../../common/parse_manifest.c:762 msgid "missing timeline" msgstr "timeline manquante" -#: parse_manifest.c:586 +#: ../../common/parse_manifest.c:764 msgid "missing start LSN" msgstr "LSN de début manquante" -#: parse_manifest.c:588 +#: ../../common/parse_manifest.c:766 msgid "missing end LSN" msgstr "LSN de fin manquante" -#: parse_manifest.c:594 +#: ../../common/parse_manifest.c:772 msgid "timeline is not an integer" msgstr "la timeline n'est pas un entier" -#: parse_manifest.c:597 +#: ../../common/parse_manifest.c:775 msgid "could not parse start LSN" msgstr "n'a pas pu analyser le LSN de début" -#: parse_manifest.c:600 +#: ../../common/parse_manifest.c:778 msgid "could not parse end LSN" msgstr "n'a pas pu analyser le LSN de fin" -#: parse_manifest.c:661 +#: ../../common/parse_manifest.c:843 msgid "expected at least 2 lines" msgstr "attendait au moins deux lignes" -#: parse_manifest.c:664 +#: ../../common/parse_manifest.c:846 msgid "last line not newline-terminated" msgstr "dernière ligne non terminée avec un caractère newline" -#: parse_manifest.c:669 -#, c-format -msgid "out of memory" -msgstr "mémoire épuisée" - -#: parse_manifest.c:671 -#, c-format -msgid "could not initialize checksum of manifest" -msgstr "n'a pas pu initialiser la somme de contrôle du manifeste" - -#: parse_manifest.c:673 -#, c-format -msgid "could not update checksum of manifest" -msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste" - -#: parse_manifest.c:676 +#: ../../common/parse_manifest.c:865 #, c-format msgid "could not finalize checksum of manifest" msgstr "n'a pas pu finaliser la somme de contrôle du manifeste" -#: parse_manifest.c:680 +#: ../../common/parse_manifest.c:869 #, c-format msgid "manifest has no checksum" msgstr "le manifeste n'a pas de somme de contrôle" -#: parse_manifest.c:684 +#: ../../common/parse_manifest.c:873 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "somme de contrôle du manifeste invalide : « %s »" -#: parse_manifest.c:688 +#: ../../common/parse_manifest.c:877 #, c-format msgid "manifest checksum mismatch" msgstr "différence de somme de contrôle pour le manifeste" -#: parse_manifest.c:703 +#: ../../common/parse_manifest.c:892 #, c-format msgid "could not parse backup manifest: %s" msgstr "n'a pas pu analyser le manifeste de sauvegarde : %s" -#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 +#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_verifybackup.c:281 +#: pg_verifybackup.c:285 #, c-format msgid "no backup directory specified" msgstr "pas de répertoire de sauvegarde spécifié" -#: pg_verifybackup.c:291 +#: pg_verifybackup.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_verifybackup.c:299 +#: pg_verifybackup.c:303 #, c-format msgid "cannot specify both %s and %s" msgstr "ne peut pas spécifier à la fois %s et %s" -#: pg_verifybackup.c:319 +#: pg_verifybackup.c:323 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_verifybackup.c:322 +#: pg_verifybackup.c:326 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_verifybackup.c:378 +#: pg_verifybackup.c:381 #, c-format msgid "backup successfully verified\n" msgstr "sauvegarde vérifiée avec succès\n" -#: pg_verifybackup.c:404 pg_verifybackup.c:748 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" - -#: pg_verifybackup.c:408 +#: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "n'a pas pu tester le fichier « %s » : %m" -#: pg_verifybackup.c:428 pg_verifybackup.c:779 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - -#: pg_verifybackup.c:431 +#: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %lld" -#: pg_verifybackup.c:491 +#: pg_verifybackup.c:478 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %lld sur %lld" + +#: pg_verifybackup.c:561 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "nom de chemin dupliqué dans le manifeste de sauvegarde : « %s »" -#: pg_verifybackup.c:554 pg_verifybackup.c:561 +#: pg_verifybackup.c:624 pg_verifybackup.c:631 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" -#: pg_verifybackup.c:593 +#: pg_verifybackup.c:663 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_verifybackup.c:613 +#: pg_verifybackup.c:683 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "" "n'a pas pu récupérer les informations sur le fichier ou répertoire\n" "« %s » : %m" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:706 #, c-format msgid "\"%s\" is not a file or directory" msgstr "« %s » n'est ni un fichier ni un répertoire" -#: pg_verifybackup.c:646 +#: pg_verifybackup.c:716 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "« %s » est présent sur disque mais pas dans le manifeste" -#: pg_verifybackup.c:658 +#: pg_verifybackup.c:728 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "« %s » a une taille de %lld sur disque mais de %zu dans le manifeste" -#: pg_verifybackup.c:689 +#: pg_verifybackup.c:768 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s : la valeur CRC n'est pas correcte" + +#: pg_verifybackup.c:772 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s : version inattendue pour le fichier de contrôle" + +#: pg_verifybackup.c:777 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: l'identifieur système du manifeste est %llu, mais le fichier de contrôle a %llu" + +#: pg_verifybackup.c:801 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "« %s » est présent dans le manifeste mais pas sur disque" -#: pg_verifybackup.c:756 +#: pg_verifybackup.c:873 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "n'a pas pu initialiser la somme de contrôle du fichier « %s »" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:885 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "n'a pas pu mettre à jour la somme de contrôle du fichier « %s »" -#: pg_verifybackup.c:785 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "n'a pas pu fermer le fichier « %s » : %m" - -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "le fichier « %s » devrait contenir %zu octets, mais la lecture produit %zu octets" -#: pg_verifybackup.c:814 +#: pg_verifybackup.c:931 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "n'a pas pu finaliser la somme de contrôle du fichier « %s »" -#: pg_verifybackup.c:822 +#: pg_verifybackup.c:939 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "le fichier « %s » a une somme de contrôle de taille %d, alors que %d était attendu" -#: pg_verifybackup.c:826 +#: pg_verifybackup.c:943 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "différence de somme de contrôle pour le fichier « %s »" -#: pg_verifybackup.c:851 +#: pg_verifybackup.c:969 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "analyse du WAL échouée pour la timeline %u" -#: pg_verifybackup.c:965 +#: pg_verifybackup.c:1072 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s Ko (%d%%) vérifiés" -#: pg_verifybackup.c:982 +#: pg_verifybackup.c:1089 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -445,7 +536,7 @@ msgstr "" "%s vérifie une sauvegarde à partir du manifeste de sauvegarde.\n" "\n" -#: pg_verifybackup.c:983 +#: pg_verifybackup.c:1090 #, c-format msgid "" "Usage:\n" @@ -456,62 +547,62 @@ msgstr "" " %s [OPTION]... REP_SAUVEGARDE\n" "\n" -#: pg_verifybackup.c:984 +#: pg_verifybackup.c:1091 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: pg_verifybackup.c:985 +#: pg_verifybackup.c:1092 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error quitte immédiatement en cas d'erreur\n" -#: pg_verifybackup.c:986 +#: pg_verifybackup.c:1093 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=CHEMIN_RELATIF ignore le chemin indiqué\n" -#: pg_verifybackup.c:987 +#: pg_verifybackup.c:1094 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=CHEMIN utilise le chemin spécifié pour le manifeste\n" -#: pg_verifybackup.c:988 +#: pg_verifybackup.c:1095 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal n'essaie pas d'analyse les fichiers WAL\n" -#: pg_verifybackup.c:989 +#: pg_verifybackup.c:1096 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress affiche les informations de progression\n" -#: pg_verifybackup.c:990 +#: pg_verifybackup.c:1097 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet n'affiche aucun message sauf pour les erreurs\n" -#: pg_verifybackup.c:991 +#: pg_verifybackup.c:1098 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums ignore la vérification des sommes de contrôle\n" -#: pg_verifybackup.c:992 +#: pg_verifybackup.c:1099 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=CHEMIN utilise le chemin spécifié pour les fichiers WAL\n" -#: pg_verifybackup.c:993 +#: pg_verifybackup.c:1100 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version, puis quitte\n" -#: pg_verifybackup.c:994 +#: pg_verifybackup.c:1101 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide, puis quitte\n" -#: pg_verifybackup.c:995 +#: pg_verifybackup.c:1102 #, c-format msgid "" "\n" @@ -520,7 +611,7 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_verifybackup.c:996 +#: pg_verifybackup.c:1103 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" @@ -529,9 +620,9 @@ msgstr "Page d'accueil de %s : <%s>\n" #~ msgid "Try \"%s --help\" for more information.\n" #~ msgstr "Essayez « %s --help » pour plus d'informations.\n" -#~ msgid "could not read file \"%s\": read %d of %zu" -#~ msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" - #, c-format #~ msgid "fatal: " #~ msgstr "fatal : " + +#~ msgid "parsing failed" +#~ msgstr "échec de l'analyse" diff --git a/src/bin/pg_verifybackup/po/ka.po b/src/bin/pg_verifybackup/po/ka.po index 5a8fbb27faaed..7876f68394bd5 100644 --- a/src/bin/pg_verifybackup/po/ka.po +++ b/src/bin/pg_verifybackup/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-01 03:48+0000\n" -"PO-Revision-Date: 2024-06-05 01:39+0200\n" +"POT-Creation-Date: 2024-08-29 17:48+0000\n" +"PO-Revision-Date: 2024-08-29 22:31+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -281,8 +281,8 @@ msgid "unexpected manifest version" msgstr "მანიფესტის მოულოდნელი ვერსია" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "მანიფესტის სისტემის იდენფიტიკატორი მთელი რიცხვი არაა" +msgid "system identifier in manifest not an integer" +msgstr "სისტემის იდენფიტიკატორი მანიფესტში მთელი რიცხვი არაა" #: ../../common/parse_manifest.c:662 msgid "missing path name" diff --git a/src/bin/pg_verifybackup/po/sv.po b/src/bin/pg_verifybackup/po/sv.po index c4f5a5fa7fef0..e2fe73ccab210 100644 --- a/src/bin/pg_verifybackup/po/sv.po +++ b/src/bin/pg_verifybackup/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-12 17:48+0000\n" -"PO-Revision-Date: 2024-07-12 23:17+0200\n" +"POT-Creation-Date: 2024-08-31 06:18+0000\n" +"PO-Revision-Date: 2024-09-01 20:47+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -281,8 +281,8 @@ msgid "unexpected manifest version" msgstr "oväntad manifestversion" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "manifestets systemidentifierare är inte ett haltal" +msgid "system identifier in manifest not an integer" +msgstr "manifestets systemidentifierare är inte ett heltal" #: ../../common/parse_manifest.c:662 msgid "missing path name" diff --git a/src/bin/pg_waldump/po/fr.po b/src/bin/pg_waldump/po/fr.po index b5cb1c6a017c0..225e85ccbb1e1 100644 --- a/src/bin/pg_waldump/po/fr.po +++ b/src/bin/pg_waldump/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-09-05 07:50+0200\n" +"POT-Creation-Date: 2024-08-22 10:19+0000\n" +"PO-Revision-Date: 2024-08-23 11:44+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,6 +41,60 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -56,74 +110,74 @@ msgstr "le répertoire « %s » existe mais n'est pas vide" msgid "could not access directory \"%s\": %m" msgstr "n'a pas pu accéder au répertoire « %s » : %m" -#: pg_waldump.c:199 pg_waldump.c:528 +#: pg_waldump.c:256 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" +msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" +msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)" +msgstr[0] "taille invalide du segment WAL dans le fichier WAL « %s » (%d octet)" +msgstr[1] "taille invalide du segment WAL dans le fichier WAL « %s » (%d octets)" -#: pg_waldump.c:255 +#: pg_waldump.c:260 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" -msgstr[0] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octet" -msgstr[1] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octets" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: pg_waldump.c:261 +#: pg_waldump.c:265 #, c-format msgid "could not read file \"%s\": %m" msgstr "n'a pas pu lire le fichier « %s » : %m" -#: pg_waldump.c:264 +#: pg_waldump.c:268 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %d" -#: pg_waldump.c:325 +#: pg_waldump.c:329 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "n'a pas pu trouver le fichier WAL « %s »" -#: pg_waldump.c:327 +#: pg_waldump.c:331 #, c-format msgid "could not find any WAL file" msgstr "n'a pas pu trouver un seul fichier WAL" -#: pg_waldump.c:368 +#: pg_waldump.c:372 #, c-format msgid "could not find file \"%s\": %m" msgstr "n'a pas pu trouver le fichier « %s » : %m" -#: pg_waldump.c:417 +#: pg_waldump.c:421 #, c-format -msgid "could not read from file %s, offset %d: %m" -msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %m" +msgid "could not read from file \"%s\", offset %d: %m" +msgstr "n'a pas pu lire à partir du fichier « %s », décalage %d : %m" -#: pg_waldump.c:421 +#: pg_waldump.c:425 #, c-format -msgid "could not read from file %s, offset %d: read %d of %d" -msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %d lu sur %d" +msgid "could not read from file \"%s\", offset %d: read %d of %d" +msgstr "n'a pas pu lire à partir du fichier « %s », décalage %d : %d lu sur %d" -#: pg_waldump.c:511 +#: pg_waldump.c:515 #, c-format msgid "%s" msgstr "%s" -#: pg_waldump.c:519 +#: pg_waldump.c:523 #, c-format msgid "invalid fork number: %u" msgstr "numéro du fork invalide : %u" -#: pg_waldump.c:531 +#: pg_waldump.c:535 #, c-format msgid "could not write file \"%s\": %m" msgstr "impossible d'écrire le fichier « %s » : %m" -#: pg_waldump.c:534 +#: pg_waldump.c:538 #, c-format msgid "could not close file \"%s\": %m" msgstr "n'a pas pu fermer le fichier « %s » : %m" -#: pg_waldump.c:754 +#: pg_waldump.c:758 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -133,17 +187,17 @@ msgstr "" "débogage.\n" "\n" -#: pg_waldump.c:756 +#: pg_waldump.c:760 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_waldump.c:757 +#: pg_waldump.c:761 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [OPTION]... [SEG_DEBUT [SEG_FIN]]\n" -#: pg_waldump.c:758 +#: pg_waldump.c:762 #, c-format msgid "" "\n" @@ -152,35 +206,35 @@ msgstr "" "\n" "Options :\n" -#: pg_waldump.c:759 +#: pg_waldump.c:763 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr "" " -b, --bkp-details affiche des informations détaillées sur les\n" " blocs de sauvegarde\n" -#: pg_waldump.c:760 +#: pg_waldump.c:764 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" msgstr "" " -B, --block=N avec --relation, affiche seulement les enregistrements\n" " qui modifient le bloc N\n" -#: pg_waldump.c:761 +#: pg_waldump.c:765 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr "" " -e, --end=RECPTR arrête la lecture des journaux de transactions à\n" " l'emplacement RECPTR\n" -#: pg_waldump.c:762 +#: pg_waldump.c:766 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr "" " -f, --follow continue après avoir atteint la fin des journaux\n" " de transactions\n" -#: pg_waldump.c:763 +#: pg_waldump.c:767 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -190,12 +244,12 @@ msgstr "" " des blocs dans le fork FORK ;\n" " les noms valides sont main, fsm, vm, init\n" -#: pg_waldump.c:765 +#: pg_waldump.c:769 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N nombre d'enregistrements à afficher\n" -#: pg_waldump.c:766 +#: pg_waldump.c:770 #, c-format msgid "" " -p, --path=PATH directory in which to find WAL segment files or a\n" @@ -208,12 +262,12 @@ msgstr "" " défaut : répertoire courant, ./pg_wal,\n" " $PGDATA/pg_wal)\n" -#: pg_waldump.c:769 +#: pg_waldump.c:773 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet n'écrit aucun message, sauf en cas d'erreur\n" -#: pg_waldump.c:770 +#: pg_waldump.c:774 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" @@ -224,21 +278,21 @@ msgstr "" " --rmgr=list pour avoir une liste des noms valides\n" " de gestionnaires de ressources\n" -#: pg_waldump.c:772 +#: pg_waldump.c:776 #, c-format msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n" msgstr "" " -R, --relation=T/D/R affiche seulement les enregistrements qui modifient\n" " les blocs de la relation T/D/R\n" -#: pg_waldump.c:773 +#: pg_waldump.c:777 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr "" " -s, --start=RECPTR commence à lire à l'emplacement RECPTR des\n" " journaux de transactions\n" -#: pg_waldump.c:774 +#: pg_waldump.c:778 #, c-format msgid "" " -t, --timeline=TLI timeline from which to read WAL records\n" @@ -248,26 +302,26 @@ msgstr "" " enregistrements des journaux (par défaut : 1 ou\n" " la valeur utilisée dans SEG_DÉBUT)\n" -#: pg_waldump.c:776 +#: pg_waldump.c:780 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_waldump.c:777 +#: pg_waldump.c:781 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr "" " -w, --fullpage affiche seulement les enregistrements avec\n" " un bloc complet (FPW)\n" -#: pg_waldump.c:778 +#: pg_waldump.c:782 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr "" " -x, --xid=XID affiche seulement des enregistrements avec\n" " l'identifiant de transaction XID\n" -#: pg_waldump.c:779 +#: pg_waldump.c:783 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -277,17 +331,17 @@ msgstr "" " d'enregistrements (en option, affiche des\n" " statistiques par enregistrement)\n" -#: pg_waldump.c:781 +#: pg_waldump.c:785 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" msgstr " --save-fullpage=RÉP sauvegarde les images complètes dans RÉP\n" -#: pg_waldump.c:782 +#: pg_waldump.c:786 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_waldump.c:783 +#: pg_waldump.c:787 #, c-format msgid "" "\n" @@ -296,301 +350,286 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_waldump.c:784 +#: pg_waldump.c:788 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_waldump.c:880 +#: pg_waldump.c:884 #, c-format msgid "no arguments specified" msgstr "aucun argument spécifié" -#: pg_waldump.c:896 +#: pg_waldump.c:900 #, c-format msgid "invalid block number: \"%s\"" msgstr "numéro de bloc invalide : « %s »" -#: pg_waldump.c:905 pg_waldump.c:1003 +#: pg_waldump.c:909 pg_waldump.c:1007 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "emplacement WAL invalide : « %s »" -#: pg_waldump.c:918 +#: pg_waldump.c:922 #, c-format msgid "invalid fork name: \"%s\"" msgstr "nom du fork invalide : « %s »" -#: pg_waldump.c:926 pg_waldump.c:1029 +#: pg_waldump.c:930 pg_waldump.c:1033 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "valeur « %s » invalide pour l'option %s" -#: pg_waldump.c:957 +#: pg_waldump.c:961 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "le gestionnaire de ressources personnalisé « %s » n'existe pas" -#: pg_waldump.c:978 +#: pg_waldump.c:982 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "le gestionnaire de ressources « %s » n'existe pas" -#: pg_waldump.c:993 +#: pg_waldump.c:997 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "spécification de relation invalide : « %s »" -#: pg_waldump.c:994 +#: pg_waldump.c:998 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "Attendait « OID tablespace/OID base/filenode relation »." -#: pg_waldump.c:1036 +#: pg_waldump.c:1040 #, c-format msgid "%s must be in range %u..%u" msgstr "%s doit être compris entre %u et %u" -#: pg_waldump.c:1051 +#: pg_waldump.c:1055 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "spécification d'identifiant de transaction invalide : « %s »" -#: pg_waldump.c:1066 +#: pg_waldump.c:1070 #, c-format msgid "unrecognized value for option %s: %s" msgstr "valeur non reconnue pour l'option %s : %s" -#: pg_waldump.c:1083 +#: pg_waldump.c:1087 #, c-format msgid "option %s requires option %s to be specified" msgstr "l'option %s requiert la spécification de l'option %s" -#: pg_waldump.c:1090 +#: pg_waldump.c:1094 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_waldump.c:1100 pg_waldump.c:1123 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - -#: pg_waldump.c:1129 pg_waldump.c:1159 +#: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" msgstr "n'a pas pu ouvrir le fichier « %s »" -#: pg_waldump.c:1139 +#: pg_waldump.c:1143 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "l'emplacement de début des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »" -#: pg_waldump.c:1166 +#: pg_waldump.c:1170 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "SEG_FIN %s est avant SEG_DÉBUT %s" -#: pg_waldump.c:1181 +#: pg_waldump.c:1185 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "l'emplacement de fin des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »" -#: pg_waldump.c:1193 +#: pg_waldump.c:1197 #, c-format msgid "no start WAL location given" msgstr "pas d'emplacement donné de début du journal de transactions" -#: pg_waldump.c:1207 +#: pg_waldump.c:1211 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "plus de mémoire lors de l'allocation d'un processeur de lecture de journaux de transactions" -#: pg_waldump.c:1213 +#: pg_waldump.c:1217 #, c-format msgid "could not find a valid record after %X/%X" msgstr "n'a pas pu trouver un enregistrement valide après %X/%X" -#: pg_waldump.c:1223 +#: pg_waldump.c:1227 #, c-format -msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n" -msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n" -msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet\n" -msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets\n" +msgid "first record is after %X/%X, at %X/%X, skipping over %u byte" +msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes" +msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet" +msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets" -#: pg_waldump.c:1308 +#: pg_waldump.c:1312 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "erreur dans l'enregistrement des journaux de transactions à %X/%X : %s" -#: pg_waldump.c:1317 +#: pg_waldump.c:1321 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "« contrecord » est requis par %X/%X" -#: xlogreader.c:676 xlogreader.c:1119 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "longueur trop importante de l'enregistrement %u à %X/%X" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "il n'existe pas de drapeau contrecord à %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X" -#: xlogreader.c:1127 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X" -#: xlogreader.c:1140 xlogreader.c:1156 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X" -#: xlogreader.c:1192 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "somme de contrôle des données du gestionnaire de ressources incorrecte à\n" "l'enregistrement %X/%X" -#: xlogreader.c:1226 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1241 xlogreader.c:1283 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1257 +#: xlogreader.c:1274 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu" -#: xlogreader.c:1265 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page" -#: xlogreader.c:1271 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page" -#: xlogreader.c:1303 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u" -#: xlogreader.c:1329 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1735 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u désordonné à %X/%X" -#: xlogreader.c:1759 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X" -#: xlogreader.c:1766 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X" -#: xlogreader.c:1802 +#: xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X" -#: xlogreader.c:1818 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X" -#: xlogreader.c:1832 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1847 +#: xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1863 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X" -#: xlogreader.c:1875 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u invalide à %X/%X" -#: xlogreader.c:1942 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "enregistrement de longueur invalide à %X/%X" -#: xlogreader.c:1968 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL" -#: xlogreader.c:2052 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" -#: xlogreader.c:2059 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d" -#: xlogreader.c:2086 xlogreader.c:2103 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d" -#: xlogreader.c:2112 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d" -#: xlogreader.c:2120 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" @@ -609,6 +648,12 @@ msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" #~ msgid "Try \"%s --help\" for more information.\n" #~ msgstr "Essayez « %s --help » pour plus d'informations.\n" +#, c-format +#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" +#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" +#~ msgstr[0] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octet" +#~ msgstr[1] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octets" + #~ msgid "cannot open directory \"%s\": %s" #~ msgstr "ne peut pas ouvrir le répertoire « %s » : %s" @@ -685,9 +730,17 @@ msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" #~ msgid "out of memory" #~ msgstr "mémoire épuisée" +#, c-format +#~ msgid "out of memory while trying to decode a record of length %u" +#~ msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" + #~ msgid "path \"%s\" could not be opened: %s" #~ msgstr "le chemin « %s » n'a pas pu être ouvert : %s" +#, c-format +#~ msgid "record length %u at %X/%X too long" +#~ msgstr "longueur trop importante de l'enregistrement %u à %X/%X" + #, c-format #~ msgid "unrecognized argument to --stats: %s" #~ msgstr "argument non reconnu pour --stats : %s" diff --git a/src/bin/pg_walsummary/po/LINGUAS b/src/bin/pg_walsummary/po/LINGUAS index 69a2822de547f..f1cd79e2ce768 100644 --- a/src/bin/pg_walsummary/po/LINGUAS +++ b/src/bin/pg_walsummary/po/LINGUAS @@ -1 +1 @@ -de es ja ka sv +de es fr ja ka sv diff --git a/src/bin/pg_walsummary/po/fr.po b/src/bin/pg_walsummary/po/fr.po new file mode 100644 index 0000000000000..0f80c8fbd0356 --- /dev/null +++ b/src/bin/pg_walsummary/po/fr.po @@ -0,0 +1,185 @@ +# LANGUAGE message translation file for pg_walsummary +# Copyright (C) 2024 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_walsummary (PostgreSQL) package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pg_walsummary (PostgreSQL) 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-23 10:22+0000\n" +"PO-Revision-Date: 2024-08-23 16:22+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.4\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "erreur : " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "attention : " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "détail : " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "astuce : " + +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Essayez « %s --help » pour plus d'informations." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "aucun fichier spécifié en entrée" + +#: pg_walsummary.c:252 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: pg_walsummary.c:267 +#, c-format +msgid "" +"%s prints the contents of a WAL summary file.\n" +"\n" +msgstr "" +"%s affiche le contenu d'un fichier de résumé de WAL.\n" +"\n" + +#: pg_walsummary.c:268 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_walsummary.c:269 +#, c-format +msgid " %s [OPTION]... FILE...\n" +msgstr " %s [OPTION]... FICHIER...\n" + +#: pg_walsummary.c:270 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Options :\n" + +#: pg_walsummary.c:271 +#, c-format +msgid " -i, --individual list block numbers individually, not as ranges\n" +msgstr " -i, --individual liste les numéros de bloc individuellement, pas sous la forme d'intervalles\n" + +#: pg_walsummary.c:272 +#, c-format +msgid " -q, --quiet don't print anything, just parse the files\n" +msgstr " -q, --quiet n'affiche rien, analyse uniquement les fichiers\n" + +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" + +#: pg_walsummary.c:274 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" + +#: pg_walsummary.c:276 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapporter les bogues à <%s>.\n" + +#: pg_walsummary.c:277 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" diff --git a/src/bin/psql/po/fr.po b/src/bin/psql/po/fr.po index 676d05a031a0f..af70b552f2ef5 100644 --- a/src/bin/psql/po/fr.po +++ b/src/bin/psql/po/fr.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:17+0000\n" -"PO-Revision-Date: 2023-09-05 09:52+0200\n" +"POT-Creation-Date: 2024-08-23 16:18+0000\n" +"PO-Revision-Date: 2024-08-23 22:49+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -42,33 +42,48 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 copy.c:326 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -90,7 +105,7 @@ msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" msgid "could not look up effective user ID %ld: %s" msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" -#: ../../common/username.c:45 command.c:613 +#: ../../common/username.c:45 command.c:616 msgid "user does not exist" msgstr "l'utilisateur n'existe pas" @@ -129,11 +144,11 @@ msgstr "le processus fils a été terminé par le signal %d : %s" msgid "child process exited with unrecognized status %d" msgstr "le processus fils a quitté avec un statut %d non reconnu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Requête d'annulation envoyée\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "N'a pas pu envoyer la requête d'annulation : " @@ -149,316 +164,341 @@ msgstr[1] "(%lu lignes)" msgid "Interrupted\n" msgstr "Interrompu\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Ne peut pas afficher le contenu de la table : le nombre de cellules %lld est égal à ou dépasse le maximum %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n" "%d est dépassé.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" msgstr "" "Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n" -"cellules %d est dépassé.\n" +"cellules %lld est dépassé.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "format de sortie invalide (erreur interne) : %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:718 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "ignore l'expansion récursive de la variable « %s »" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "n'a pas pu rechercher l'identifiant de l'utilisateur local %d : %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas" -#: command.c:234 +#: command.c:235 #, c-format msgid "invalid command \\%s" msgstr "commande \\%s invalide" -#: command.c:236 +#: command.c:237 #, c-format msgid "Try \\? for help." msgstr "Essayez \\? pour l'aide." -#: command.c:254 +#: command.c:255 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s : argument « %s » supplémentaire ignoré" -#: command.c:306 +#: command.c:307 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "commande \\%s ignorée ; utilisez \\endif ou Ctrl-C pour quitter le bloc \\if courant" -#: command.c:611 +#: command.c:614 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "n'a pas pu obtenir le répertoire principal pour l'identifiant d'utilisateur %ld : %s" -#: command.c:630 +#: command.c:633 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s : n'a pas pu accéder au répertoire « %s » : %m" -#: command.c:654 +#: command.c:657 #, c-format msgid "You are currently not connected to a database.\n" msgstr "Vous n'êtes pas connecté à une base de données.\n" -#: command.c:664 +#: command.c:667 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » à l'adresse « %s » via le port « %s ».\n" -#: command.c:667 +#: command.c:670 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » via le socket dans « %s » via le port « %s ».\n" -#: command.c:673 +#: command.c:676 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » (adresse « %s ») via le port « %s ».\n" -#: command.c:676 +#: command.c:679 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » via le port « %s ».\n" -#: command.c:1066 command.c:1159 command.c:2682 +#: command.c:1069 command.c:1170 command.c:2675 #, c-format msgid "no query buffer" msgstr "aucun tampon de requête" -#: command.c:1099 command.c:5689 +#: command.c:1102 command.c:5771 #, c-format msgid "invalid line number: %s" msgstr "numéro de ligne invalide : %s" -#: command.c:1237 +#: command.c:1248 msgid "No changes" msgstr "Aucun changement" -#: command.c:1315 +#: command.c:1333 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s : nom d'encodage invalide ou procédure de conversion introuvable" -#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 -#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 -#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 -#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 -#: large_obj.c:254 startup.c:304 +#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877 +#: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160 +#: common.c:1228 common.c:1347 common.c:1385 common.c:1482 common.c:1548 +#: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254 +#: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1357 +#: command.c:1375 msgid "There is no previous error." msgstr "Il n'y a pas d'erreur précédente." -#: command.c:1470 +#: command.c:1488 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: parenthèse droite manquante" -#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 -#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 +#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 +#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s : argument requis manquant" -#: command.c:1815 +#: command.c:1822 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif : ne peut pas survenir après \\else" -#: command.c:1820 +#: command.c:1827 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif : pas de \\if correspondant" -#: command.c:1884 +#: command.c:1891 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else : ne peut pas survenir après \\else" -#: command.c:1889 +#: command.c:1896 #, c-format msgid "\\else: no matching \\if" msgstr "\\else : pas de \\if correspondant" -#: command.c:1929 +#: command.c:1936 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif : pas de \\if correspondant" -#: command.c:2085 +#: command.c:2092 msgid "Query buffer is empty." msgstr "Le tampon de requête est vide." -#: command.c:2128 +#: command.c:2135 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Saisir le nouveau mot de passe de l'utilisateur « %s » : " -#: command.c:2132 +#: command.c:2139 msgid "Enter it again: " msgstr "Saisir le mot de passe à nouveau : " -#: command.c:2141 +#: command.c:2148 #, c-format msgid "Passwords didn't match." msgstr "Les mots de passe ne sont pas identiques." -#: command.c:2238 +#: command.c:2231 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s : n'a pas pu lire la valeur pour la variable" -#: command.c:2340 +#: command.c:2333 msgid "Query buffer reset (cleared)." msgstr "Le tampon de requête a été effacé." -#: command.c:2362 +#: command.c:2355 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "Historique sauvegardé dans le fichier « %s ».\n" -#: command.c:2449 +#: command.c:2442 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s : le nom de la variable d'environnement ne doit pas contenir « = »" -#: command.c:2497 +#: command.c:2490 #, c-format msgid "function name is required" msgstr "le nom de la fonction est requis" -#: command.c:2499 +#: command.c:2492 #, c-format msgid "view name is required" msgstr "le nom de la vue est requis" -#: command.c:2621 +#: command.c:2614 msgid "Timing is on." msgstr "Chronométrage activé." -#: command.c:2623 +#: command.c:2616 msgid "Timing is off." msgstr "Chronométrage désactivé." -#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 -#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 -#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 -#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 +#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 +#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 +#: command.c:4239 command.c:4266 command.c:4324 common.c:77 copy.c:329 +#: copy.c:401 psqlscanslash.l:805 psqlscanslash.l:817 psqlscanslash.l:835 #, c-format msgid "%s: %m" msgstr "%s : %m" -#: command.c:2736 copy.c:388 +#: command.c:2729 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s : %s" -#: command.c:2806 command.c:2852 +#: command.c:2801 command.c:2867 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch : la valeur d'intervalle est spécifiée plus d'une fois" -#: command.c:2816 command.c:2862 +#: command.c:2811 command.c:2877 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch : valeur d'intervalle incorrecte « %s »" -#: command.c:2826 +#: command.c:2821 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: le nombre d'itération est spécifié plus d'une fois" -#: command.c:2836 +#: command.c:2831 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch : nombre d'itération incorrect « %s »" -#: command.c:2843 +#: command.c:2841 +#, c-format +msgid "\\watch: minimum row count specified more than once" +msgstr "\\watch: nombre de lignes minimum spécifié plus d'une fois" + +#: command.c:2851 +#, c-format +msgid "\\watch: incorrect minimum row count \"%s\"" +msgstr "\\watch : nombre de lignes minimum incorrect « %s »" + +#: command.c:2858 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch : paramètre « %s » non reconnu" -#: command.c:3236 startup.c:243 startup.c:293 +#: command.c:3255 startup.c:243 startup.c:293 msgid "Password: " msgstr "Mot de passe : " -#: command.c:3241 startup.c:290 +#: command.c:3260 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Mot de passe pour l'utilisateur %s : " -#: command.c:3297 +#: command.c:3316 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "Ne pas donner utilisateur, hôte ou port lors de l'utilisation d'une chaîne de connexion" -#: command.c:3332 +#: command.c:3351 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "Aucune connexion de base existante pour réutiliser ses paramètres" -#: command.c:3638 +#: command.c:3658 #, c-format msgid "Previous connection kept" msgstr "Connexion précédente conservée" -#: command.c:3644 +#: command.c:3664 #, c-format msgid "\\connect: %s" msgstr "\\connect : %s" -#: command.c:3700 +#: command.c:3720 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » à l'adresse « %s » via le port « %s ».\n" -#: command.c:3703 +#: command.c:3723 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » via le socket dans « %s » via le port « %s ».\n" -#: command.c:3709 +#: command.c:3729 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » (adresse « %s » ) via le port « %s ».\n" -#: command.c:3712 +#: command.c:3732 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » via le port « %s ».\n" -#: command.c:3717 +#: command.c:3737 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s ».\n" -#: command.c:3757 +#: command.c:3843 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, serveur %s)\n" -#: command.c:3770 +#: command.c:3856 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -467,29 +507,33 @@ msgstr "" "ATTENTION : %s version majeure %s, version majeure du serveur %s.\n" " Certaines fonctionnalités de psql pourraient ne pas fonctionner.\n" -#: command.c:3807 +#: command.c:3895 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" -msgstr "Connexion SSL (protocole : %s, chiffrement : %s, compression : %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" +msgstr "Connexion SSL (protocole : %s, chiffrement : %s, compression : %s, ALPN : %s)\n" -#: command.c:3808 command.c:3809 +#: command.c:3896 command.c:3897 msgid "unknown" msgstr "inconnu" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "off" msgstr "désactivé" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "on" msgstr "activé" -#: command.c:3824 +#: command.c:3899 +msgid "none" +msgstr "aucun" + +#: command.c:3913 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "connexion chiffrée avec GSSAPI\n" -#: command.c:3844 +#: command.c:3933 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -501,289 +545,289 @@ msgstr "" " Voir la section « Notes aux utilisateurs de Windows » de la page\n" " référence de psql pour les détails.\n" -#: command.c:3949 +#: command.c:4038 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "la variable d'environnement PSQL_EDITOR_LINENUMBER_ARG doit être définie avec un numéro de ligne" -#: command.c:3979 +#: command.c:4068 #, c-format msgid "could not start editor \"%s\"" msgstr "n'a pas pu exécuter l'éditeur « %s »" -#: command.c:3981 +#: command.c:4070 #, c-format msgid "could not start /bin/sh" msgstr "n'a pas pu exécuter /bin/sh" -#: command.c:4031 +#: command.c:4120 #, c-format msgid "could not locate temporary directory: %s" msgstr "n'a pas pu localiser le répertoire temporaire : %s" -#: command.c:4058 +#: command.c:4147 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier temporaire « %s » : %m" -#: command.c:4394 +#: command.c:4483 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: abréviation ambigüe : « %s » correspond à « %s » comme à « %s »" -#: command.c:4414 +#: command.c:4503 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset : les formats autorisés sont aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4433 +#: command.c:4522 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: les styles de lignes autorisés sont ascii, old-ascii, unicode" -#: command.c:4448 +#: command.c:4537 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset : les styles autorisés de ligne de bordure Unicode sont single, double" -#: command.c:4463 +#: command.c:4552 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset : les styles autorisés pour la ligne de colonne Unicode sont single, double" -#: command.c:4478 +#: command.c:4567 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset : les styles autorisés pour la ligne d'en-tête Unicode sont single, double" -#: command.c:4530 +#: command.c:4619 #, c-format msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" msgstr "\\pset: les valeurs acceptées pour xheader_width sont « %s » (par défaut), « %s », « %s » ou un nombre indiquant la largeur exacte" -#: command.c:4547 +#: command.c:4636 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep doit être un unique caractère d'un octet" -#: command.c:4552 +#: command.c:4641 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsep ne peut pas être un guillemet, un retour à la ligne ou un retour chariot" -#: command.c:4690 command.c:4891 +#: command.c:4779 command.c:4980 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset : option inconnue : %s" -#: command.c:4710 +#: command.c:4799 #, c-format msgid "Border style is %d.\n" msgstr "Le style de bordure est %d.\n" -#: command.c:4716 +#: command.c:4805 #, c-format msgid "Target width is unset.\n" msgstr "La largeur cible n'est pas configuré.\n" -#: command.c:4718 +#: command.c:4807 #, c-format msgid "Target width is %d.\n" msgstr "La largeur cible est %d.\n" -#: command.c:4725 +#: command.c:4814 #, c-format msgid "Expanded display is on.\n" msgstr "Affichage étendu activé.\n" -#: command.c:4727 +#: command.c:4816 #, c-format msgid "Expanded display is used automatically.\n" msgstr "L'affichage étendu est utilisé automatiquement.\n" -#: command.c:4729 +#: command.c:4818 #, c-format msgid "Expanded display is off.\n" msgstr "Affichage étendu désactivé.\n" -#: command.c:4736 command.c:4738 command.c:4740 +#: command.c:4825 command.c:4827 command.c:4829 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "La largeur étendue de l'entête est « %s ».\n" -#: command.c:4742 +#: command.c:4831 #, c-format msgid "Expanded header width is %d.\n" msgstr "La largeur étendue de l'entête est %d.\n" -#: command.c:4748 +#: command.c:4837 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Le séparateur de champs pour un CSV est « %s ».\n" -#: command.c:4756 command.c:4764 +#: command.c:4845 command.c:4853 #, c-format msgid "Field separator is zero byte.\n" msgstr "Le séparateur de champs est l'octet zéro.\n" -#: command.c:4758 +#: command.c:4847 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Le séparateur de champs est « %s ».\n" -#: command.c:4771 +#: command.c:4860 #, c-format msgid "Default footer is on.\n" msgstr "Le bas de page pas défaut est activé.\n" -#: command.c:4773 +#: command.c:4862 #, c-format msgid "Default footer is off.\n" msgstr "Le bas de page par défaut est désactivé.\n" -#: command.c:4779 +#: command.c:4868 #, c-format msgid "Output format is %s.\n" msgstr "Le format de sortie est %s.\n" -#: command.c:4785 +#: command.c:4874 #, c-format msgid "Line style is %s.\n" msgstr "Le style de ligne est %s.\n" -#: command.c:4792 +#: command.c:4881 #, c-format msgid "Null display is \"%s\".\n" msgstr "L'affichage de null est « %s ».\n" -#: command.c:4800 +#: command.c:4889 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "L'affichage de la sortie numérique adaptée à la locale est activé.\n" -#: command.c:4802 +#: command.c:4891 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "L'affichage de la sortie numérique adaptée à la locale est désactivé.\n" -#: command.c:4809 +#: command.c:4898 #, c-format msgid "Pager is used for long output.\n" msgstr "Le paginateur est utilisé pour les affichages longs.\n" -#: command.c:4811 +#: command.c:4900 #, c-format msgid "Pager is always used.\n" msgstr "Le paginateur est toujours utilisé.\n" -#: command.c:4813 +#: command.c:4902 #, c-format msgid "Pager usage is off.\n" msgstr "L'utilisation du paginateur est désactivé.\n" -#: command.c:4819 +#: command.c:4908 #, c-format msgid "Pager won't be used for less than %d line.\n" msgid_plural "Pager won't be used for less than %d lines.\n" msgstr[0] "Le paginateur ne sera pas utilisé pour moins que %d ligne.\n" msgstr[1] "Le paginateur ne sera pas utilisé pour moins que %d lignes.\n" -#: command.c:4829 command.c:4839 +#: command.c:4918 command.c:4928 #, c-format msgid "Record separator is zero byte.\n" msgstr "Le séparateur d'enregistrements est l'octet zéro.\n" -#: command.c:4831 +#: command.c:4920 #, c-format msgid "Record separator is .\n" msgstr "Le séparateur d'enregistrement est .\n" -#: command.c:4833 +#: command.c:4922 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Le séparateur d'enregistrements est « %s ».\n" -#: command.c:4846 +#: command.c:4935 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Les attributs de la table sont « %s ».\n" -#: command.c:4849 +#: command.c:4938 #, c-format msgid "Table attributes unset.\n" msgstr "Les attributs de la table ne sont pas définis.\n" -#: command.c:4856 +#: command.c:4945 #, c-format msgid "Title is \"%s\".\n" msgstr "Le titre est « %s ».\n" -#: command.c:4858 +#: command.c:4947 #, c-format msgid "Title is unset.\n" msgstr "Le titre n'est pas défini.\n" -#: command.c:4865 +#: command.c:4954 #, c-format msgid "Tuples only is on.\n" msgstr "L'affichage des tuples seuls est activé.\n" -#: command.c:4867 +#: command.c:4956 #, c-format msgid "Tuples only is off.\n" msgstr "L'affichage des tuples seuls est désactivé.\n" -#: command.c:4873 +#: command.c:4962 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Le style de bordure Unicode est « %s ».\n" -#: command.c:4879 +#: command.c:4968 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Le style de ligne Unicode est « %s ».\n" -#: command.c:4885 +#: command.c:4974 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Le style d'en-tête Unicode est « %s ».\n" -#: command.c:5134 +#: command.c:5223 #, c-format msgid "\\!: failed" msgstr "\\! : échec" -#: command.c:5168 +#: command.c:5257 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch ne peut pas être utilisé avec une requête vide" -#: command.c:5200 +#: command.c:5289 #, c-format msgid "could not set timer: %m" msgstr "n'a pas pu configurer le chronomètre : %m" -#: command.c:5269 +#: command.c:5358 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (chaque %gs)\n" -#: command.c:5272 +#: command.c:5361 #, c-format msgid "%s (every %gs)\n" msgstr "%s (chaque %gs)\n" -#: command.c:5340 +#: command.c:5424 #, c-format msgid "could not wait for signals: %m" msgstr "n'a pas pu attendre le signal : %m" -#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 +#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123 #, c-format msgid "" -"********* QUERY **********\n" +"/******** QUERY *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" msgstr "" "******** REQUÊTE *********\n" @@ -791,147 +835,152 @@ msgstr "" "**************************\n" "\n" -#: command.c:5584 +#: command.c:5666 #, c-format msgid "\"%s.%s\" is not a view" msgstr "« %s.%s » n'est pas une vue" -#: command.c:5600 +#: command.c:5682 #, c-format msgid "could not parse reloptions array" msgstr "n'a pas pu analyser le tableau reloptions" -#: common.c:167 +#: common.c:206 #, c-format msgid "cannot escape without active connection" msgstr "ne peut mettre entre guillemets sans connexion active" -#: common.c:208 +#: common.c:247 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »" -#: common.c:312 +#: common.c:351 #, c-format msgid "connection to server was lost" msgstr "la connexion au serveur a été perdue" -#: common.c:316 +#: common.c:355 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "La connexion au serveur a été perdue. Tentative de réinitialisation : " -#: common.c:321 +#: common.c:360 #, c-format msgid "Failed.\n" msgstr "Échec.\n" -#: common.c:338 +#: common.c:377 #, c-format msgid "Succeeded.\n" msgstr "Succès.\n" -#: common.c:390 common.c:1021 +#: common.c:430 common.c:1061 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "PQresultStatus inattendu : %d" -#: common.c:531 +#: common.c:571 #, c-format msgid "Time: %.3f ms\n" msgstr "Temps : %.3f ms\n" -#: common.c:546 +#: common.c:586 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Durée : %.3f ms (%02d:%06.3f)\n" -#: common.c:555 +#: common.c:595 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Durée : %.3f ms (%02d:%02d:%06.3f)\n" -#: common.c:562 +#: common.c:602 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Durée : %.3f ms (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6214 +#: common.c:626 common.c:683 common.c:1094 describe.c:6192 #, c-format msgid "You are currently not connected to a database." msgstr "Vous n'êtes pas connecté à une base de données." -#: common.c:674 +#: common.c:714 #, c-format msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n" msgstr "" "Notification asynchrone « %s » reçue avec le contenu « %s » en provenance du\n" "processus serveur de PID %d.\n" -#: common.c:677 +#: common.c:717 #, c-format msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "" "Notification asynchrone « %s » reçue en provenance du processus serveur de\n" "PID %d.\n" -#: common.c:708 +#: common.c:748 #, c-format msgid "could not print result table: %m" msgstr "n'a pas pu imprimer la table résultante : %m" -#: common.c:728 +#: common.c:768 #, c-format msgid "no rows returned for \\gset" msgstr "aucune ligne retournée pour \\gset" -#: common.c:733 +#: common.c:773 #, c-format msgid "more than one row returned for \\gset" msgstr "plus d'une ligne retournée pour \\gset" -#: common.c:751 +#: common.c:791 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "tentative ignorée d'utilisation de \\gset dans une variable traitée spécialement « %s »" -#: common.c:1063 +#: common.c:1103 #, c-format msgid "" -"***(Single step mode: verify command)*******************************************\n" +"/**(Single step mode: verify command)******************************************/\n" "%s\n" -"***(press return to proceed or enter x and return to cancel)********************\n" +"/**(press return to proceed or enter x and return to cancel)*******************/\n" msgstr "" "***(Mode étape par étape: vérifiez la commande)*********************************\n" "%s\n" "***(appuyez sur entrée pour l'exécuter ou tapez x puis entrée pour annuler)***\n" -#: common.c:1146 +#: common.c:1180 #, c-format msgid "STATEMENT: %s" msgstr "INSTRUCTION : %s" -#: common.c:1182 +#: common.c:1216 #, c-format msgid "unexpected transaction status (%d)" msgstr "état de la transaction inattendu (%d)" -#: common.c:1335 describe.c:2026 +#: common.c:1369 describe.c:2025 msgid "Column" msgstr "Colonne" -#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 -#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 -#: describe.c:5846 +#: common.c:1370 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 +#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 +#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 +#: describe.c:5829 msgid "Type" msgstr "Type" -#: common.c:1385 +#: common.c:1419 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "La commande n'a pas de résultats ou le résultat n'a pas de colonnes.\n" +#: common.c:1511 +#, c-format +msgid "fetching results in chunked mode failed" +msgstr "échec de la récupération des résultats en mode par morceau" + #: copy.c:98 #, c-format msgid "\\copy: arguments required" @@ -947,11 +996,6 @@ msgstr "\\copy : erreur d'analyse sur « %s »" msgid "\\copy: parse error at end of line" msgstr "\\copy : erreur d'analyse à la fin de la ligne" -#: copy.c:326 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "n'a pas pu exécuter la commande « %s » : %m" - #: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" @@ -989,338 +1033,339 @@ msgstr "" "Saisissez les données à copier suivies d'un saut de ligne.\n" "Terminez avec un antislash et un point seuls sur une ligne ou un signal EOF." -#: copy.c:682 +#: copy.c:684 msgid "aborted because of read failure" msgstr "annulé du fait d'une erreur de lecture" -#: copy.c:716 +#: copy.c:718 msgid "trying to exit copy mode" msgstr "tente de sortir du mode copy" -#: crosstabview.c:123 +#: crosstabview.c:124 #, c-format msgid "\\crosstabview: statement did not return a result set" msgstr "\\crosstabview : la commande n'a pas retourné d'ensemble de résultats" -#: crosstabview.c:129 +#: crosstabview.c:130 #, c-format msgid "\\crosstabview: query must return at least three columns" msgstr "\\crosstabview : la requête doit renvoyer au moins trois colonnes" -#: crosstabview.c:156 +#: crosstabview.c:157 #, c-format msgid "\\crosstabview: vertical and horizontal headers must be different columns" msgstr "\\crosstabview : les en-têtes horizontales et verticales doivent être des colonnes différentes" -#: crosstabview.c:172 +#: crosstabview.c:173 #, c-format msgid "\\crosstabview: data column must be specified when query returns more than three columns" msgstr "\\crosstabview : la colonne de données doit être spécifiée quand la requête retourne plus de trois colonnes" -#: crosstabview.c:228 +#: crosstabview.c:229 #, c-format msgid "\\crosstabview: maximum number of columns (%d) exceeded" msgstr "\\crosstabview : nombre maximum de colonnes (%d) dépassé" -#: crosstabview.c:397 +#: crosstabview.c:398 #, c-format msgid "\\crosstabview: query result contains multiple data values for row \"%s\", column \"%s\"" msgstr "\\crosstabview : le résultat de la requête contient plusieurs valeurs de données pour la ligne « %s », colonne « %s »" -#: crosstabview.c:645 +#: crosstabview.c:646 #, c-format msgid "\\crosstabview: column number %d is out of range 1..%d" msgstr "\\crosstabview : le numéro de colonne %d est en dehors des limites 1..%d" -#: crosstabview.c:670 +#: crosstabview.c:671 #, c-format msgid "\\crosstabview: ambiguous column name: \"%s\"" msgstr "\\crosstabview : nom de colonne ambigu : « %s »" -#: crosstabview.c:678 +#: crosstabview.c:679 #, c-format msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview : nom de colonne non trouvé : « %s »" -#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 -#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 -#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 -#: describe.c:5556 describe.c:5960 describe.c:6038 +#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 +#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 +#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 +#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 +#: describe.c:5542 describe.c:5941 describe.c:6018 msgid "Schema" msgstr "Schéma" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 -#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 -#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 -#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 -#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 -#: describe.c:6036 describe.c:6265 describe.c:6573 +#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 +#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 +#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 +#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 +#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 +#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 +#: describe.c:6016 describe.c:6243 describe.c:6551 msgid "Name" msgstr "Nom" -#: describe.c:89 describe.c:351 describe.c:369 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Result data type" msgstr "Type de données du résultat" -#: describe.c:90 describe.c:352 describe.c:370 +#: describe.c:90 describe.c:349 describe.c:367 msgid "Argument data types" msgstr "Type de données des paramètres" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 -#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 -#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 -#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 -#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 -#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 -#: describe.c:6039 describe.c:7093 +#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 +#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 +#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 +#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 +#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 +#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 +#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 +#: describe.c:6019 describe.c:7078 msgid "Description" msgstr "Description" -#: describe.c:128 +#: describe.c:127 msgid "List of aggregate functions" msgstr "Liste des fonctions d'agrégation" -#: describe.c:153 +#: describe.c:152 #, c-format msgid "The server (version %s) does not support access methods." msgstr "Le serveur (version %s) ne supporte pas les méthodes d'accès." -#: describe.c:168 +#: describe.c:167 msgid "Index" msgstr "Index" -#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 +#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 msgid "Table" msgstr "Table" -#: describe.c:177 describe.c:5758 +#: describe.c:176 describe.c:5742 msgid "Handler" msgstr "Gestionnaire" -#: describe.c:201 +#: describe.c:199 msgid "List of access methods" msgstr "Liste des méthodes d'accès" -#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 -#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 -#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 -#: describe.c:7081 +#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 +#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 +#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 +#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 +#: describe.c:7066 msgid "Owner" msgstr "Propriétaire" -#: describe.c:231 +#: describe.c:229 msgid "Location" msgstr "Emplacement" -#: describe.c:241 describe.c:3517 describe.c:3858 +#: describe.c:239 describe.c:3517 describe.c:3857 msgid "Options" msgstr "Options" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 +#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 msgid "Size" msgstr "Taille" -#: describe.c:266 +#: describe.c:263 msgid "List of tablespaces" msgstr "Liste des tablespaces" -#: describe.c:311 +#: describe.c:308 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df ne prend que [anptwS+] comme options" -#: describe.c:319 +#: describe.c:316 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df ne prend pas d'option « %c » pour un serveur en version %s" #. translator: "agg" is short for "aggregate" -#: describe.c:354 describe.c:372 +#: describe.c:351 describe.c:369 msgid "agg" msgstr "agg" -#: describe.c:355 describe.c:373 +#: describe.c:352 describe.c:370 msgid "window" msgstr "window" -#: describe.c:356 +#: describe.c:353 msgid "proc" msgstr "proc" -#: describe.c:357 describe.c:375 +#: describe.c:354 describe.c:372 msgid "func" msgstr "func" -#: describe.c:374 describe.c:1397 +#: describe.c:371 describe.c:1397 msgid "trigger" msgstr "trigger" -#: describe.c:386 +#: describe.c:383 msgid "immutable" msgstr "immutable" -#: describe.c:387 +#: describe.c:384 msgid "stable" msgstr "stable" -#: describe.c:388 +#: describe.c:385 msgid "volatile" msgstr "volatile" -#: describe.c:389 +#: describe.c:386 msgid "Volatility" msgstr "Volatibilité" -#: describe.c:397 +#: describe.c:394 msgid "restricted" msgstr "restricted" -#: describe.c:398 +#: describe.c:395 msgid "safe" msgstr "safe" -#: describe.c:399 +#: describe.c:396 msgid "unsafe" msgstr "unsafe" -#: describe.c:400 +#: describe.c:397 msgid "Parallel" msgstr "Parallèle" -#: describe.c:405 +#: describe.c:402 msgid "definer" msgstr "definer" -#: describe.c:406 +#: describe.c:403 msgid "invoker" msgstr "invoker" -#: describe.c:407 +#: describe.c:404 msgid "Security" msgstr "Sécurité" -#: describe.c:412 +#: describe.c:409 msgid "Language" msgstr "Langage" -#: describe.c:415 describe.c:652 +#: describe.c:412 describe.c:648 msgid "Internal name" msgstr "Nom interne" -#: describe.c:589 +#: describe.c:585 msgid "List of functions" msgstr "Liste des fonctions" -#: describe.c:654 +#: describe.c:650 msgid "Elements" msgstr "Éléments" -#: describe.c:706 +#: describe.c:701 msgid "List of data types" msgstr "Liste des types de données" -#: describe.c:809 +#: describe.c:804 msgid "Left arg type" msgstr "Type de l'arg. gauche" -#: describe.c:810 +#: describe.c:805 msgid "Right arg type" msgstr "Type de l'arg. droit" -#: describe.c:811 +#: describe.c:806 msgid "Result type" msgstr "Type du résultat" -#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 -#: describe.c:7010 describe.c:7014 +#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 +#: describe.c:6996 describe.c:7000 msgid "Function" msgstr "Fonction" -#: describe.c:897 +#: describe.c:891 msgid "List of operators" msgstr "Liste des opérateurs" -#: describe.c:932 +#: describe.c:926 msgid "Encoding" msgstr "Encodage" -#: describe.c:936 describe.c:940 +#: describe.c:930 describe.c:934 msgid "Locale Provider" msgstr "Fournisseur de locale" -#: describe.c:944 describe.c:4947 +#: describe.c:938 describe.c:4936 msgid "Collate" msgstr "Collationnement" -#: describe.c:945 describe.c:4948 +#: describe.c:939 describe.c:4937 msgid "Ctype" msgstr "Type caract." -#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 -msgid "ICU Locale" -msgstr "Locale ICU" +#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 +#: describe.c:4950 +msgid "Locale" +msgstr "Locale" -#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 msgid "ICU Rules" msgstr "Règles ICU :" -#: describe.c:973 +#: describe.c:971 msgid "Tablespace" msgstr "Tablespace" -#: describe.c:999 +#: describe.c:996 msgid "List of databases" msgstr "Liste des bases de données" -#: describe.c:1040 describe.c:1191 describe.c:3949 +#: describe.c:1037 describe.c:1192 describe.c:3947 msgid "table" msgstr "table" -#: describe.c:1041 describe.c:3950 +#: describe.c:1038 describe.c:3948 msgid "view" msgstr "vue" -#: describe.c:1042 describe.c:3951 +#: describe.c:1039 describe.c:3949 msgid "materialized view" msgstr "vue matérialisée" -#: describe.c:1043 describe.c:1193 describe.c:3953 +#: describe.c:1040 describe.c:1194 describe.c:3951 msgid "sequence" msgstr "séquence" -#: describe.c:1044 describe.c:3955 +#: describe.c:1041 describe.c:3953 msgid "foreign table" msgstr "table distante" -#: describe.c:1045 describe.c:3956 describe.c:4168 +#: describe.c:1042 describe.c:3954 describe.c:4165 msgid "partitioned table" msgstr "table partitionnée" -#: describe.c:1056 +#: describe.c:1058 msgid "Column privileges" msgstr "Droits d'accès à la colonne" -#: describe.c:1087 describe.c:1121 +#: describe.c:1089 describe.c:1123 msgid "Policies" msgstr "Politiques" -#: describe.c:1150 describe.c:4577 describe.c:6678 +#: describe.c:1151 describe.c:4570 describe.c:6667 msgid "Access privileges" msgstr "Droits d'accès" -#: describe.c:1195 +#: describe.c:1196 msgid "function" msgstr "fonction" -#: describe.c:1197 +#: describe.c:1198 msgid "type" msgstr "type" -#: describe.c:1199 +#: describe.c:1200 msgid "schema" msgstr "schéma" @@ -1352,293 +1397,293 @@ msgstr "famille d'opérateur" msgid "rule" msgstr "règle" -#: describe.c:1421 +#: describe.c:1420 msgid "Object descriptions" msgstr "Descriptions des objets" -#: describe.c:1486 describe.c:4074 +#: describe.c:1485 describe.c:4072 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Aucune relation nommée « %s » n'a été trouvée." -#: describe.c:1489 describe.c:4077 +#: describe.c:1488 describe.c:4075 #, c-format msgid "Did not find any relations." msgstr "Aucune relation n'a été trouvée." -#: describe.c:1685 +#: describe.c:1684 #, c-format msgid "Did not find any relation with OID %s." msgstr "Aucune relation avec l'OID « %s » n'a été trouvée." -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Start" msgstr "Début" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Minimum" msgstr "Minimum" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Maximum" msgstr "Maximum" -#: describe.c:1736 describe.c:1760 +#: describe.c:1735 describe.c:1759 msgid "Increment" msgstr "Incrément" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 -#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 +#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 msgid "yes" msgstr "oui" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 -#: describe.c:4835 describe.c:4971 describe.c:6722 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 +#: describe.c:4825 describe.c:4964 describe.c:6711 msgid "no" msgstr "non" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cycles?" msgstr "Cycles ?" -#: describe.c:1740 describe.c:1764 +#: describe.c:1739 describe.c:1763 msgid "Cache" msgstr "Cache" -#: describe.c:1805 +#: describe.c:1804 #, c-format msgid "Owned by: %s" msgstr "Propriétaire : %s" -#: describe.c:1809 +#: describe.c:1808 #, c-format msgid "Sequence for identity column: %s" msgstr "Séquence pour la colonne d'identité : %s" -#: describe.c:1817 +#: describe.c:1816 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Séquence non journalisée « %s.%s »" -#: describe.c:1820 +#: describe.c:1819 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Séquence « %s.%s »" -#: describe.c:1963 +#: describe.c:1962 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Table non tracée « %s.%s »" -#: describe.c:1966 +#: describe.c:1965 #, c-format msgid "Table \"%s.%s\"" msgstr "Table « %s.%s »" -#: describe.c:1970 +#: describe.c:1969 #, c-format msgid "View \"%s.%s\"" msgstr "Vue « %s.%s »" -#: describe.c:1975 +#: describe.c:1974 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Vue matérialisée non journalisée « %s.%s »" -#: describe.c:1978 +#: describe.c:1977 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Vue matérialisée « %s.%s »" -#: describe.c:1983 +#: describe.c:1982 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Index non tracé « %s.%s »" -#: describe.c:1986 +#: describe.c:1985 #, c-format msgid "Index \"%s.%s\"" msgstr "Index « %s.%s »" -#: describe.c:1991 +#: describe.c:1990 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Index partitionné non journalisé « %s.%s »" -#: describe.c:1994 +#: describe.c:1993 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Index partitionné « %s.%s »" -#: describe.c:1998 +#: describe.c:1997 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "Table TOAST « %s.%s »" -#: describe.c:2002 +#: describe.c:2001 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Type composé « %s.%s »" -#: describe.c:2006 +#: describe.c:2005 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Table distante « %s.%s »" -#: describe.c:2011 +#: describe.c:2010 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Table non journalisée « %s.%s »" -#: describe.c:2014 +#: describe.c:2013 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Table partitionnée « %s.%s »" -#: describe.c:2030 describe.c:4410 +#: describe.c:2029 describe.c:4405 msgid "Collation" msgstr "Collationnement" -#: describe.c:2031 describe.c:4411 +#: describe.c:2030 describe.c:4406 msgid "Nullable" msgstr "NULL-able" -#: describe.c:2032 describe.c:4412 +#: describe.c:2031 describe.c:4407 msgid "Default" msgstr "Par défaut" -#: describe.c:2035 +#: describe.c:2034 msgid "Key?" msgstr "Clé ?" -#: describe.c:2037 describe.c:4732 describe.c:4743 +#: describe.c:2036 describe.c:4723 describe.c:4734 msgid "Definition" msgstr "Définition" -#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 -#: describe.c:5973 +#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 +#: describe.c:5954 msgid "FDW options" msgstr "Options FDW" -#: describe.c:2041 +#: describe.c:2040 msgid "Storage" msgstr "Stockage" -#: describe.c:2043 +#: describe.c:2042 msgid "Compression" msgstr "Compression" -#: describe.c:2045 +#: describe.c:2044 msgid "Stats target" msgstr "Cible de statistiques" -#: describe.c:2181 +#: describe.c:2180 #, c-format msgid "Partition of: %s %s%s" msgstr "Partition de : %s %s%s" -#: describe.c:2194 +#: describe.c:2193 msgid "No partition constraint" msgstr "Aucune contrainte de partition" -#: describe.c:2196 +#: describe.c:2195 #, c-format msgid "Partition constraint: %s" msgstr "Contrainte de partition : %s" -#: describe.c:2220 +#: describe.c:2219 #, c-format msgid "Partition key: %s" msgstr "Clé de partition : %s" -#: describe.c:2246 +#: describe.c:2245 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Table propriétaire : « %s.%s »" -#: describe.c:2315 +#: describe.c:2314 msgid "primary key, " msgstr "clé primaire, " -#: describe.c:2318 +#: describe.c:2317 msgid "unique" msgstr "unique" -#: describe.c:2320 +#: describe.c:2319 msgid " nulls not distinct" msgstr " nulls non distincts" -#: describe.c:2321 +#: describe.c:2320 msgid ", " msgstr " , " -#: describe.c:2328 +#: describe.c:2327 #, c-format msgid "for table \"%s.%s\"" msgstr "pour la table « %s.%s »" -#: describe.c:2332 +#: describe.c:2331 #, c-format msgid ", predicate (%s)" msgstr ", prédicat (%s)" -#: describe.c:2335 +#: describe.c:2334 msgid ", clustered" msgstr ", en cluster" -#: describe.c:2338 +#: describe.c:2337 msgid ", invalid" msgstr ", invalide" -#: describe.c:2341 +#: describe.c:2340 msgid ", deferrable" msgstr ", déferrable" -#: describe.c:2344 +#: describe.c:2343 msgid ", initially deferred" msgstr ", initialement déferré" -#: describe.c:2347 +#: describe.c:2346 msgid ", replica identity" msgstr ", identité réplica" -#: describe.c:2401 +#: describe.c:2400 msgid "Indexes:" msgstr "Index :" -#: describe.c:2484 +#: describe.c:2483 msgid "Check constraints:" msgstr "Contraintes de vérification :" -#: describe.c:2552 +#: describe.c:2551 msgid "Foreign-key constraints:" msgstr "Contraintes de clés étrangères :" -#: describe.c:2615 +#: describe.c:2614 msgid "Referenced by:" msgstr "Référencé par :" -#: describe.c:2665 +#: describe.c:2664 msgid "Policies:" msgstr "Politiques :" -#: describe.c:2668 +#: describe.c:2667 msgid "Policies (forced row security enabled):" msgstr "Politiques (mode sécurité de ligne activé en forcé) :" -#: describe.c:2671 +#: describe.c:2670 msgid "Policies (row security enabled): (none)" msgstr "Politiques (mode sécurité de ligne activé) : (aucune)" -#: describe.c:2674 +#: describe.c:2673 msgid "Policies (forced row security enabled): (none)" msgstr "Politiques (mode sécurité de ligne activé en forcé) : (aucune)" -#: describe.c:2677 +#: describe.c:2676 msgid "Policies (row security disabled):" msgstr "Politiques (mode sécurité de ligne désactivé) :" -#: describe.c:2737 describe.c:2841 +#: describe.c:2736 describe.c:2841 msgid "Statistics objects:" msgstr "Objets statistiques :" @@ -1658,7 +1703,7 @@ msgstr "Règles toujous activées :" msgid "Rules firing on replica only:" msgstr "Règles activées uniquement sur le réplica :" -#: describe.c:3031 describe.c:5109 +#: describe.c:3031 describe.c:5100 msgid "Publications:" msgstr "Publications :" @@ -1757,7 +1802,7 @@ msgstr ", tablespace « %s »" msgid "List of roles" msgstr "Liste des rôles" -#: describe.c:3672 describe.c:3841 +#: describe.c:3672 describe.c:3840 msgid "Role name" msgstr "Nom du rôle" @@ -1835,368 +1880,368 @@ msgstr "Aucune configuration pour le rôle « %s » n'a été trouvée." msgid "Did not find any settings." msgstr "Aucune configuration n'a été trouvée." -#: describe.c:3812 +#: describe.c:3811 msgid "List of settings" msgstr "Liste des paramètres" -#: describe.c:3842 +#: describe.c:3841 msgid "Member of" msgstr "Membre de" -#: describe.c:3859 +#: describe.c:3858 msgid "Grantor" msgstr "Donneur de droits" -#: describe.c:3886 +#: describe.c:3884 msgid "List of role grants" msgstr "Liste des droits de rôles" -#: describe.c:3952 +#: describe.c:3950 msgid "index" msgstr "index" -#: describe.c:3954 +#: describe.c:3952 msgid "TOAST table" msgstr "Table TOAST" -#: describe.c:3957 describe.c:4169 +#: describe.c:3955 describe.c:4166 msgid "partitioned index" msgstr "index partitionné" -#: describe.c:3977 +#: describe.c:3975 msgid "permanent" msgstr "permanent" -#: describe.c:3978 +#: describe.c:3976 msgid "temporary" msgstr "temporaire" -#: describe.c:3979 +#: describe.c:3977 msgid "unlogged" msgstr "non journalisé" -#: describe.c:3980 +#: describe.c:3978 msgid "Persistence" msgstr "Persistence" -#: describe.c:3996 +#: describe.c:3994 msgid "Access method" msgstr "Méthode d'accès" -#: describe.c:4082 +#: describe.c:4079 msgid "List of relations" msgstr "Liste des relations" -#: describe.c:4130 +#: describe.c:4127 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "Le serveur (version %s) ne supporte pas le partitionnement déclaratif des tables." -#: describe.c:4141 +#: describe.c:4138 msgid "List of partitioned indexes" msgstr "Liste des index partitionnés" -#: describe.c:4143 +#: describe.c:4140 msgid "List of partitioned tables" msgstr "Liste des tables partitionnées" -#: describe.c:4147 +#: describe.c:4144 msgid "List of partitioned relations" msgstr "Liste des relations partitionnées" -#: describe.c:4178 +#: describe.c:4175 msgid "Parent name" msgstr "Nom du parent" -#: describe.c:4191 +#: describe.c:4188 msgid "Leaf partition size" msgstr "Taille de la partition de dernier niveau" -#: describe.c:4194 describe.c:4200 +#: describe.c:4191 describe.c:4197 msgid "Total size" msgstr "Taille totale" -#: describe.c:4325 +#: describe.c:4321 msgid "Trusted" msgstr "De confiance" -#: describe.c:4334 +#: describe.c:4330 msgid "Internal language" msgstr "Langage interne" -#: describe.c:4335 +#: describe.c:4331 msgid "Call handler" msgstr "Gestionnaire d'appel" -#: describe.c:4336 describe.c:5759 +#: describe.c:4332 describe.c:5743 msgid "Validator" msgstr "Validateur" -#: describe.c:4337 +#: describe.c:4333 msgid "Inline handler" msgstr "Gestionnaire en ligne" -#: describe.c:4372 +#: describe.c:4367 msgid "List of languages" msgstr "Liste des langages" -#: describe.c:4413 +#: describe.c:4408 msgid "Check" msgstr "Vérification" -#: describe.c:4457 +#: describe.c:4451 msgid "List of domains" msgstr "Liste des domaines" -#: describe.c:4491 +#: describe.c:4485 msgid "Source" msgstr "Source" -#: describe.c:4492 +#: describe.c:4486 msgid "Destination" msgstr "Destination" -#: describe.c:4494 describe.c:6723 +#: describe.c:4488 describe.c:6712 msgid "Default?" msgstr "Par défaut ?" -#: describe.c:4536 +#: describe.c:4529 msgid "List of conversions" msgstr "Liste des conversions" -#: describe.c:4564 +#: describe.c:4557 msgid "Parameter" msgstr "Paramètre" -#: describe.c:4565 +#: describe.c:4558 msgid "Value" msgstr "Valeur" -#: describe.c:4572 +#: describe.c:4565 msgid "Context" msgstr "Contexte" -#: describe.c:4605 +#: describe.c:4597 msgid "List of configuration parameters" msgstr "Liste des paramètres de configuration" -#: describe.c:4607 +#: describe.c:4599 msgid "List of non-default configuration parameters" msgstr "Liste des paramètres de configuration à valeur personnalisée" -#: describe.c:4634 +#: describe.c:4626 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Le serveur (version %s) ne supporte pas les triggers d'événement." -#: describe.c:4654 +#: describe.c:4646 msgid "Event" msgstr "Événement" -#: describe.c:4656 +#: describe.c:4648 msgid "enabled" msgstr "activé" -#: describe.c:4657 +#: describe.c:4649 msgid "replica" msgstr "réplicat" -#: describe.c:4658 +#: describe.c:4650 msgid "always" msgstr "toujours" -#: describe.c:4659 +#: describe.c:4651 msgid "disabled" msgstr "désactivé" -#: describe.c:4660 describe.c:6575 +#: describe.c:4652 describe.c:6553 msgid "Enabled" msgstr "Activé" -#: describe.c:4662 +#: describe.c:4654 msgid "Tags" msgstr "Tags" -#: describe.c:4686 +#: describe.c:4677 msgid "List of event triggers" msgstr "Liste des triggers sur évènement" -#: describe.c:4713 +#: describe.c:4704 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Le serveur (version %s) ne supporte pas les statistiques étendues." -#: describe.c:4750 +#: describe.c:4741 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4751 +#: describe.c:4742 msgid "Dependencies" msgstr "Dépendances" -#: describe.c:4761 +#: describe.c:4752 msgid "MCV" msgstr "MCV" -#: describe.c:4785 +#: describe.c:4775 msgid "List of extended statistics" msgstr "Liste des statistiques étendues" -#: describe.c:4812 +#: describe.c:4802 msgid "Source type" msgstr "Type source" -#: describe.c:4813 +#: describe.c:4803 msgid "Target type" msgstr "Type cible" -#: describe.c:4837 +#: describe.c:4827 msgid "in assignment" msgstr "assigné" -#: describe.c:4839 +#: describe.c:4829 msgid "Implicit?" msgstr "Implicite ?" -#: describe.c:4898 +#: describe.c:4887 msgid "List of casts" msgstr "Liste des conversions explicites" -#: describe.c:4938 describe.c:4942 +#: describe.c:4927 describe.c:4931 msgid "Provider" msgstr "Fournisseur" -#: describe.c:4972 describe.c:4977 +#: describe.c:4965 describe.c:4970 msgid "Deterministic?" msgstr "Déterministe ?" -#: describe.c:5017 +#: describe.c:5009 msgid "List of collations" msgstr "Liste des collationnements" -#: describe.c:5079 +#: describe.c:5070 msgid "List of schemas" msgstr "Liste des schémas" -#: describe.c:5196 +#: describe.c:5186 msgid "List of text search parsers" msgstr "Liste des analyseurs de la recherche de texte" -#: describe.c:5246 +#: describe.c:5236 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Aucun analyseur de la recherche de texte nommé « %s » n'a été trouvé." -#: describe.c:5249 +#: describe.c:5239 #, c-format msgid "Did not find any text search parsers." msgstr "Aucun analyseur de recherche de texte n'a été trouvé." -#: describe.c:5324 +#: describe.c:5314 msgid "Start parse" msgstr "Début de l'analyse" -#: describe.c:5325 +#: describe.c:5315 msgid "Method" msgstr "Méthode" -#: describe.c:5329 +#: describe.c:5319 msgid "Get next token" msgstr "Obtenir le prochain jeton" -#: describe.c:5331 +#: describe.c:5321 msgid "End parse" msgstr "Fin de l'analyse" -#: describe.c:5333 +#: describe.c:5323 msgid "Get headline" msgstr "Obtenir l'en-tête" -#: describe.c:5335 +#: describe.c:5325 msgid "Get token types" msgstr "Obtenir les types de jeton" -#: describe.c:5346 +#: describe.c:5335 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Analyseur « %s.%s » de la recherche de texte" -#: describe.c:5349 +#: describe.c:5338 #, c-format msgid "Text search parser \"%s\"" msgstr "Analyseur « %s » de la recherche de texte" -#: describe.c:5368 +#: describe.c:5357 msgid "Token name" msgstr "Nom du jeton" -#: describe.c:5382 +#: describe.c:5370 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Types de jeton pour l'analyseur « %s.%s »" -#: describe.c:5385 +#: describe.c:5373 #, c-format msgid "Token types for parser \"%s\"" msgstr "Types de jeton pour l'analyseur « %s »" -#: describe.c:5429 +#: describe.c:5417 msgid "Template" msgstr "Modèle" -#: describe.c:5430 +#: describe.c:5418 msgid "Init options" msgstr "Options d'initialisation" -#: describe.c:5457 +#: describe.c:5444 msgid "List of text search dictionaries" msgstr "Liste des dictionnaires de la recherche de texte" -#: describe.c:5490 +#: describe.c:5477 msgid "Init" msgstr "Initialisation" -#: describe.c:5491 +#: describe.c:5478 msgid "Lexize" msgstr "Lexize" -#: describe.c:5523 +#: describe.c:5509 msgid "List of text search templates" msgstr "Liste des modèles de la recherche de texte" -#: describe.c:5578 +#: describe.c:5563 msgid "List of text search configurations" msgstr "Liste des configurations de la recherche de texte" -#: describe.c:5629 +#: describe.c:5614 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Aucune configuration de la recherche de texte nommée « %s » n'a été trouvée." -#: describe.c:5632 +#: describe.c:5617 #, c-format msgid "Did not find any text search configurations." msgstr "Aucune configuration de recherche de texte n'a été trouvée." -#: describe.c:5698 +#: describe.c:5683 msgid "Token" msgstr "Jeton" -#: describe.c:5699 +#: describe.c:5684 msgid "Dictionaries" msgstr "Dictionnaires" -#: describe.c:5710 +#: describe.c:5695 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Configuration « %s.%s » de la recherche de texte" -#: describe.c:5713 +#: describe.c:5698 #, c-format msgid "Text search configuration \"%s\"" msgstr "Configuration « %s » de la recherche de texte" -#: describe.c:5717 +#: describe.c:5702 #, c-format msgid "" "\n" @@ -2205,7 +2250,7 @@ msgstr "" "\n" "Analyseur : « %s.%s »" -#: describe.c:5720 +#: describe.c:5705 #, c-format msgid "" "\n" @@ -2214,265 +2259,273 @@ msgstr "" "\n" "Analyseur : « %s »" -#: describe.c:5801 +#: describe.c:5784 msgid "List of foreign-data wrappers" msgstr "Liste des wrappers de données distantes" -#: describe.c:5829 +#: describe.c:5812 msgid "Foreign-data wrapper" msgstr "Wrapper des données distantes" -#: describe.c:5847 describe.c:6037 +#: describe.c:5830 describe.c:6017 msgid "Version" msgstr "Version" -#: describe.c:5878 +#: describe.c:5860 msgid "List of foreign servers" msgstr "Liste des serveurs distants" -#: describe.c:5903 describe.c:5962 +#: describe.c:5885 describe.c:5943 msgid "Server" msgstr "Serveur" -#: describe.c:5904 +#: describe.c:5886 msgid "User name" msgstr "Nom de l'utilisateur" -#: describe.c:5934 +#: describe.c:5915 msgid "List of user mappings" msgstr "Liste des correspondances utilisateurs" -#: describe.c:6007 +#: describe.c:5987 msgid "List of foreign tables" msgstr "Liste des tables distantes" -#: describe.c:6059 +#: describe.c:6038 msgid "List of installed extensions" msgstr "Liste des extensions installées" -#: describe.c:6107 +#: describe.c:6086 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Aucune extension nommée « %s » n'a été trouvée." -#: describe.c:6110 +#: describe.c:6089 #, c-format msgid "Did not find any extensions." msgstr "Aucune extension n'a été trouvée." -#: describe.c:6154 +#: describe.c:6133 msgid "Object description" msgstr "Description d'objet" -#: describe.c:6164 +#: describe.c:6142 #, c-format msgid "Objects in extension \"%s\"" msgstr "Objets dans l'extension « %s »" -#: describe.c:6205 +#: describe.c:6183 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" -#: describe.c:6219 +#: describe.c:6197 #, c-format msgid "cross-database references are not implemented: %s" msgstr "les références entre bases de données ne sont pas implémentées : %s" -#: describe.c:6250 describe.c:6377 +#: describe.c:6228 describe.c:6354 #, c-format msgid "The server (version %s) does not support publications." msgstr "Le serveur (version %s) ne supporte pas les publications." -#: describe.c:6267 describe.c:6455 +#: describe.c:6245 describe.c:6432 msgid "All tables" msgstr "Toutes les tables" -#: describe.c:6268 describe.c:6456 +#: describe.c:6246 describe.c:6433 msgid "Inserts" msgstr "Insertions" -#: describe.c:6269 describe.c:6457 +#: describe.c:6247 describe.c:6434 msgid "Updates" msgstr "Mises à jour" -#: describe.c:6270 describe.c:6458 +#: describe.c:6248 describe.c:6435 msgid "Deletes" msgstr "Suppressions" -#: describe.c:6274 describe.c:6460 +#: describe.c:6252 describe.c:6437 msgid "Truncates" msgstr "Tronque" -#: describe.c:6278 describe.c:6462 +#: describe.c:6256 describe.c:6439 msgid "Via root" msgstr "Via la racine" -#: describe.c:6300 +#: describe.c:6277 msgid "List of publications" msgstr "Liste des publications" -#: describe.c:6424 +#: describe.c:6401 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Aucune publication nommée « %s » n'a été trouvée." -#: describe.c:6427 +#: describe.c:6404 #, c-format msgid "Did not find any publications." msgstr "Aucune publication n'a été trouvée." -#: describe.c:6451 +#: describe.c:6428 #, c-format msgid "Publication %s" msgstr "Publication %s" -#: describe.c:6504 +#: describe.c:6481 msgid "Tables:" msgstr "Tables :" -#: describe.c:6516 +#: describe.c:6493 msgid "Tables from schemas:" msgstr "Tables des schémas :" -#: describe.c:6560 +#: describe.c:6538 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Le serveur (version %s) ne supporte pas les souscriptions." -#: describe.c:6576 +#: describe.c:6554 msgid "Publication" msgstr "Publication" -#: describe.c:6585 +#: describe.c:6563 msgid "Binary" msgstr "Binaire" -#: describe.c:6594 describe.c:6598 +#: describe.c:6572 describe.c:6576 msgid "Streaming" msgstr "Flux" -#: describe.c:6606 +#: describe.c:6584 msgid "Two-phase commit" msgstr "Commit en deux phases" -#: describe.c:6607 +#: describe.c:6585 msgid "Disable on error" msgstr "Désactiver en cas d'erreur" -#: describe.c:6614 +#: describe.c:6592 msgid "Origin" msgstr "Origine" -#: describe.c:6615 +#: describe.c:6593 msgid "Password required" msgstr "Mot de passe requis" -#: describe.c:6616 +#: describe.c:6594 msgid "Run as owner?" msgstr "Exécuté en tant que propriétaire ?" -#: describe.c:6621 +#: describe.c:6599 +msgid "Failover" +msgstr "Failover" + +#: describe.c:6604 msgid "Synchronous commit" msgstr "Validation synchrone" -#: describe.c:6622 +#: describe.c:6605 msgid "Conninfo" msgstr "Informations de connexion" -#: describe.c:6628 +#: describe.c:6611 msgid "Skip LSN" msgstr "Ignore LSN" -#: describe.c:6655 +#: describe.c:6637 msgid "List of subscriptions" msgstr "Liste des souscriptions" -#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 +#: describe.c:6666 +msgid "(none)" +msgstr "(aucun)" + +#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 msgid "AM" msgstr "AM" -#: describe.c:6718 +#: describe.c:6707 msgid "Input type" msgstr "Type en entrée" -#: describe.c:6719 +#: describe.c:6708 msgid "Storage type" msgstr "Type de stockage" -#: describe.c:6720 +#: describe.c:6709 msgid "Operator class" msgstr "Classe d'opérateur" -#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 +#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 msgid "Operator family" msgstr "Famille d'opérateur" -#: describe.c:6768 +#: describe.c:6756 msgid "List of operator classes" msgstr "Liste des classes d'opérateurs" -#: describe.c:6815 +#: describe.c:6803 msgid "Applicable types" msgstr "Types applicables" -#: describe.c:6857 +#: describe.c:6844 msgid "List of operator families" msgstr "Liste des familles d'opérateurs" -#: describe.c:6908 +#: describe.c:6895 msgid "Operator" msgstr "Opérateur" -#: describe.c:6909 +#: describe.c:6896 msgid "Strategy" msgstr "Stratégie" -#: describe.c:6910 +#: describe.c:6897 msgid "ordering" msgstr "ordre" -#: describe.c:6911 +#: describe.c:6898 msgid "search" msgstr "recherche" -#: describe.c:6912 +#: describe.c:6899 msgid "Purpose" msgstr "But" -#: describe.c:6917 +#: describe.c:6904 msgid "Sort opfamily" msgstr "Tri famille d'opérateur" -#: describe.c:6956 +#: describe.c:6942 msgid "List of operators of operator families" msgstr "Liste d'opérateurs des familles d'opérateurs" -#: describe.c:7003 +#: describe.c:6989 msgid "Registered left type" msgstr "Type de l'arg. gauche enregistré" -#: describe.c:7004 +#: describe.c:6990 msgid "Registered right type" msgstr "Type de l'arg. droit enregistré" -#: describe.c:7005 +#: describe.c:6991 msgid "Number" msgstr "Numéro" -#: describe.c:7049 +#: describe.c:7034 msgid "List of support functions of operator families" msgstr "Liste des fonctions de support des familles d'opérateurs" -#: describe.c:7080 +#: describe.c:7065 msgid "ID" msgstr "ID" -#: describe.c:7101 +#: describe.c:7085 msgid "Large objects" msgstr "« Large objects »" -#: help.c:75 +#: help.c:63 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2480,11 +2533,11 @@ msgstr "" "psql est l'interface interactive de PostgreSQL.\n" "\n" -#: help.c:76 help.c:395 help.c:479 help.c:522 +#: help.c:64 help.c:372 help.c:456 help.c:499 msgid "Usage:\n" msgstr "Usage :\n" -#: help.c:77 +#: help.c:65 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2492,32 +2545,29 @@ msgstr "" " psql [OPTIONS]... [BASE [UTILISATEUR]]\n" "\n" -#: help.c:79 +#: help.c:67 msgid "General options:\n" msgstr "Options générales :\n" -#: help.c:84 +#: help.c:68 msgid " -c, --command=COMMAND run only single command (SQL or internal) and exit\n" msgstr "" " -c, --command=COMMANDE exécute une commande unique (SQL ou interne), puis\n" " quitte\n" -#: help.c:85 -#, c-format -msgid " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" -msgstr "" -" -d, --dbname=BASE indique le nom de la base de données à laquelle se\n" -" connecter (par défaut : « %s »)\n" +#: help.c:69 +msgid " -d, --dbname=DBNAME database name to connect to\n" +msgstr " -d, --dbname=BASE base de données de connexion\n" -#: help.c:87 +#: help.c:70 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=FICHIER exécute les commandes du fichier, puis quitte\n" -#: help.c:88 +#: help.c:71 msgid " -l, --list list available databases, then exit\n" msgstr " -l, --list affiche les bases de données disponibles, puis quitte\n" -#: help.c:89 +#: help.c:72 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2527,15 +2577,15 @@ msgstr "" " configure la variable psql NOM en VALEUR\n" " (par exemple : -v ON_ERROR_STOP=1)\n" -#: help.c:92 +#: help.c:75 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: help.c:93 +#: help.c:76 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc ne lit pas le fichier de démarrage (~/.psqlrc)\n" -#: help.c:94 +#: help.c:77 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n" @@ -2544,19 +2594,19 @@ msgstr "" " exécute dans une transaction unique (si non\n" " interactif)\n" -#: help.c:96 +#: help.c:79 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=options] affiche cette aide et quitte\n" -#: help.c:97 +#: help.c:80 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commandes liste les méta-commandes, puis quitte\n" -#: help.c:98 +#: help.c:81 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variables liste les variables spéciales, puis quitte\n" -#: help.c:100 +#: help.c:83 msgid "" "\n" "Input and output options:\n" @@ -2564,59 +2614,59 @@ msgstr "" "\n" "Options d'entrée/sortie :\n" -#: help.c:101 +#: help.c:84 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all affiche les lignes du script\n" -#: help.c:102 +#: help.c:85 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors affiche les commandes échouées\n" -#: help.c:103 +#: help.c:86 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries affiche les commandes envoyées au serveur\n" -#: help.c:104 +#: help.c:87 msgid " -E, --echo-hidden display queries that internal commands generate\n" msgstr "" " -E, --echo-hidden affiche les requêtes engendrées par les commandes\n" " internes\n" -#: help.c:105 +#: help.c:88 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=FICHIER envoie les traces dans le fichier\n" -#: help.c:106 +#: help.c:89 msgid " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr "" " -n, --no-readline désactive l'édition avancée de la ligne de commande\n" " (readline)\n" -#: help.c:107 +#: help.c:90 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr "" " -o, --output=FICHIER écrit les résultats des requêtes dans un fichier (ou\n" " |tube)\n" -#: help.c:108 +#: help.c:91 msgid " -q, --quiet run quietly (no messages, only query output)\n" msgstr "" " -q, --quiet s'exécute silencieusement (pas de messages, uniquement\n" " le résultat des requêtes)\n" -#: help.c:109 +#: help.c:92 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr "" " -s, --single-step active le mode étape par étape (confirmation pour\n" " chaque requête)\n" -#: help.c:110 +#: help.c:93 msgid " -S, --single-line single-line mode (end of line terminates SQL command)\n" msgstr "" " -S, --single-line active le mode ligne par ligne (EOL termine la\n" " commande SQL)\n" -#: help.c:112 +#: help.c:95 msgid "" "\n" "Output format options:\n" @@ -2624,19 +2674,19 @@ msgstr "" "\n" "Options de formattage de la sortie :\n" -#: help.c:113 +#: help.c:96 msgid " -A, --no-align unaligned table output mode\n" msgstr "" " -A, --no-align active le mode d'affichage non aligné des tables\n" " (-P format=unaligned)\n" -#: help.c:114 +#: help.c:97 msgid " --csv CSV (Comma-Separated Values) table output mode\n" msgstr "" " --csv mode d'affichage CSV (valeurs séparées par des\n" " virgules)\n" -#: help.c:115 +#: help.c:98 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2646,19 +2696,19 @@ msgstr "" " séparateur de champs pour un affichage non aligné\n" " (par défaut : « %s »)\n" -#: help.c:118 +#: help.c:101 msgid " -H, --html HTML table output mode\n" msgstr "" " -H, --html active le mode d'affichage HTML des tables\n" " (-P format=html)\n" -#: help.c:119 +#: help.c:102 msgid " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset command)\n" msgstr "" " -P, --pset=VAR[=ARG] initialise l'option d'impression VAR à ARG (voir la\n" " commande \\pset)\n" -#: help.c:120 +#: help.c:103 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: newline)\n" @@ -2667,21 +2717,21 @@ msgstr "" " séparateur d'enregistrements pour un affichage non\n" " aligné (par défaut : saut de ligne)\n" -#: help.c:122 +#: help.c:105 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only affiche seulement les lignes (-P tuples_only)\n" -#: help.c:123 +#: help.c:106 msgid " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)\n" msgstr "" " -T, --table-attr=TEXTE initialise les attributs des balises HTML de tableau\n" " (largeur, bordure)\n" -#: help.c:124 +#: help.c:107 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded active l'affichage étendu des tables (-P expanded)\n" -#: help.c:125 +#: help.c:108 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero byte\n" @@ -2690,7 +2740,7 @@ msgstr "" " initialise le séparateur de champs pour un affichage\n" " non aligné à l'octet zéro\n" -#: help.c:127 +#: help.c:110 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero byte\n" @@ -2699,7 +2749,7 @@ msgstr "" " initialise le séparateur d'enregistrements pour un\n" " affichage non aligné à l'octet zéro\n" -#: help.c:130 +#: help.c:113 msgid "" "\n" "Connection options:\n" @@ -2707,43 +2757,31 @@ msgstr "" "\n" "Options de connexion :\n" -#: help.c:133 -#, c-format -msgid " -h, --host=HOSTNAME database server host or socket directory (default: \"%s\")\n" +#: help.c:114 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=HÔTE nom d'hôte du serveur de la base de données ou\n" -" répertoire de la socket (par défaut : %s)\n" +" -h, --host=HÔTE hôte du serveur de bases de données ou\n" +" répertoire des sockets\n" -#: help.c:134 -msgid "local socket" -msgstr "socket locale" - -#: help.c:137 -#, c-format -msgid " -p, --port=PORT database server port (default: \"%s\")\n" -msgstr "" -" -p, --port=PORT port du serveur de la base de données (par défaut :\n" -" « %s »)\n" +#: help.c:115 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: help.c:140 -#, c-format -msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" -msgstr "" -" -U, --username=UTILISATEUR\n" -" nom d'utilisateur de la base de données (par\n" -" défaut : « %s »)\n" +#: help.c:116 +msgid " -U, --username=USERNAME database user name\n" +msgstr " -U, --username=NOM nom de l'utilisateur de la base de données\n" -#: help.c:142 +#: help.c:117 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais un mot de passe\n" -#: help.c:143 +#: help.c:118 msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password force la demande du mot de passe (devrait survenir\n" " automatiquement)\n" -#: help.c:145 +#: help.c:120 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help\" (for SQL\n" @@ -2757,39 +2795,39 @@ msgstr "" "la documentation de PostgreSQL.\n" "\n" -#: help.c:148 +#: help.c:123 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapporter les bogues à <%s>.\n" -#: help.c:149 +#: help.c:124 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: help.c:191 +#: help.c:166 msgid "General\n" msgstr "Général\n" -#: help.c:192 +#: help.c:167 msgid " \\bind [PARAM]... set query parameters\n" msgstr " \\bind [PARAM]... configure les paramètres de la requête\n" -#: help.c:193 +#: help.c:168 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr "" " \\copyright affiche les conditions d'utilisation et de\n" " distribution de PostgreSQL\n" -#: help.c:194 +#: help.c:169 msgid " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr " \\crosstabview [COLONNES] exécute la requête et affiche le résultat dans un tableau croisé\n" -#: help.c:195 +#: help.c:170 msgid " \\errverbose show most recent error message at maximum verbosity\n" msgstr " \\errverbose affiche le message d'erreur le plus récent avec une verbosité maximale\n" -#: help.c:196 +#: help.c:171 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2797,252 +2835,258 @@ msgstr "" " \\g [(OPTIONS)] [FICHIER] exécute la requête (et envoie les résultats à un fichier ou à |pipe);\n" " \\g sans arguments est équivalent à un point-virgule\n" -#: help.c:198 +#: help.c:173 msgid " \\gdesc describe result of query, without executing it\n" msgstr " \\gdesc décrit le résultat de la requête sans l'exécuter\n" -#: help.c:199 +#: help.c:174 msgid " \\gexec execute query, then execute each value in its result\n" msgstr " \\gexec exécute la requête et exécute chaque valeur du résultat\n" -#: help.c:200 +#: help.c:175 msgid " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr " \\gset [PRÉFIXE] exécute la requête et enregistre le résultat dans des variables psql\n" -#: help.c:201 +#: help.c:176 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr " \\gx [(OPTIONS)] [FICHIER] comme \\g, mais force le mode de sortie étendu\n" -#: help.c:202 +#: help.c:177 msgid " \\q quit psql\n" msgstr " \\q quitte psql\n" -#: help.c:203 -msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" -msgstr " \\watch [[i=]SEC] [c=N] exécute la requête toutes les SEC secondes, jusqu'à N fois\n" +#: help.c:178 +msgid "" +" \\watch [[i=]SEC] [c=N] [m=MIN]\n" +" execute query every SEC seconds, up to N times,\n" +" stop if less than MIN rows are returned\n" +msgstr "" +" \\watch [[i=]SEC] [c=N] [m=MIN]\n" +" exécute la requête chaque SEC secondes, jusqu'à N fois,\n" +" s'arrête si moins de MIN lignes sont renvoyés\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 -#: help.c:326 help.c:339 help.c:348 +#: help.c:181 help.c:189 help.c:201 help.c:211 help.c:218 help.c:275 help.c:283 +#: help.c:303 help.c:316 help.c:325 msgid "\n" msgstr "\n" -#: help.c:206 +#: help.c:183 msgid "Help\n" msgstr "Aide\n" -#: help.c:208 +#: help.c:185 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commandes] affiche l'aide sur les métacommandes\n" -#: help.c:209 +#: help.c:186 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options affiche l'aide sur les options en ligne de commande de psql\n" -#: help.c:210 +#: help.c:187 msgid " \\? variables show help on special variables\n" msgstr " \\? variables affiche l'aide sur les variables spéciales\n" -#: help.c:211 +#: help.c:188 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr "" " \\h [NOM] aide-mémoire pour les commandes SQL, * pour toutes\n" " les commandes\n" -#: help.c:214 +#: help.c:191 msgid "Query Buffer\n" msgstr "Tampon de requête\n" -#: help.c:215 +#: help.c:192 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr "" " \\e [FICHIER] [LIGNE] édite le tampon de requête ou le fichier avec un\n" " éditeur externe\n" -#: help.c:216 +#: help.c:193 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr "" " \\ef [FONCTION [LIGNE]] édite la définition de fonction avec un éditeur\n" " externe\n" -#: help.c:217 +#: help.c:194 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr "" " \\ev [VUE [LIGNE]] édite la définition de vue avec un éditeur\n" " externe\n" -#: help.c:218 +#: help.c:195 msgid " \\p show the contents of the query buffer\n" msgstr " \\p affiche le contenu du tampon de requête\n" -#: help.c:219 +#: help.c:196 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r efface le tampon de requêtes\n" -#: help.c:221 +#: help.c:198 msgid " \\s [FILE] display history or save it to file\n" msgstr "" " \\s [FICHIER] affiche l'historique ou le sauvegarde dans un\n" " fichier\n" -#: help.c:223 +#: help.c:200 msgid " \\w FILE write query buffer to file\n" msgstr "" " \\w [FICHIER] écrit le contenu du tampon de requêtes dans un\n" " fichier\n" -#: help.c:226 +#: help.c:203 msgid "Input/Output\n" msgstr "Entrée/Sortie\n" -#: help.c:227 +#: help.c:204 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr "" " \\copy ... exécute SQL COPY avec le flux de données dirigé vers\n" " l'hôte client\n" -#: help.c:228 +#: help.c:205 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [TEXTE] écrit le texte sur la sortie standard (-n pour supprimer le retour à la ligne)\n" -#: help.c:229 +#: help.c:206 msgid " \\i FILE execute commands from file\n" msgstr " \\i FICHIER exécute les commandes du fichier\n" -#: help.c:230 +#: help.c:207 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr "" " \\ir FICHIER identique à \\i, mais relatif à l'emplacement du script\n" " ou un |tube\n" -#: help.c:231 +#: help.c:208 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr "" " \\o [FICHIER] envoie les résultats de la requête vers un fichier\n" " ou un |tube\n" -#: help.c:232 +#: help.c:209 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr "" " \\qecho [-n] [TEXTE] écrit un texte sur la sortie des résultats des\n" " requêtes (\\o) (-n pour supprimer le retour à la ligne)\n" -#: help.c:233 +#: help.c:210 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [TEXTE] écrit le texte sur la sortie des erreurs (-n pour supprimer le retour à la ligne)\n" -#: help.c:236 +#: help.c:213 msgid "Conditional\n" msgstr "Conditionnel\n" -#: help.c:237 +#: help.c:214 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR début du bloc conditionnel\n" -#: help.c:238 +#: help.c:215 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif alternative à l'intérieur du bloc conditionnel courant\n" -#: help.c:239 +#: help.c:216 msgid " \\else final alternative within current conditional block\n" msgstr " \\else alternative finale à l'intérieur du bloc conditionnel courant\n" -#: help.c:240 +#: help.c:217 msgid " \\endif end conditional block\n" msgstr " \\endif bloc conditionnel de fin\n" -#: help.c:243 +#: help.c:220 msgid "Informational\n" msgstr "Informations\n" -#: help.c:244 +#: help.c:221 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (options : S = affiche les objets systèmes, + = informations supplémentaires)\n" -#: help.c:245 +#: help.c:222 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] affiche la liste des tables, vues et séquences\n" -#: help.c:246 +#: help.c:223 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr "" " \\d[S+] NOM affiche la description de la table, de la vue,\n" " de la séquence ou de l'index\n" -#: help.c:247 +#: help.c:224 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [MODÈLE] affiche les aggrégats\n" -#: help.c:248 +#: help.c:225 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [MODÈLE] affiche la liste des méthodes d'accès\n" -#: help.c:249 +#: help.c:226 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] affiche les classes d'opérateurs\n" -#: help.c:250 +#: help.c:227 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] affiche les familles d'opérateur\n" -#: help.c:251 +#: help.c:228 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] affiche les opérateurs des familles d'opérateur\n" -#: help.c:252 +#: help.c:229 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] liste les fonctions de support des familles d'opérateur\n" -#: help.c:253 +#: help.c:230 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [MODÈLE] affiche la liste des tablespaces\n" -#: help.c:254 +#: help.c:231 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [MODÈLE] affiche la liste des conversions\n" -#: help.c:255 +#: help.c:232 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [MODÈLE] affiche les paramètres de configuration\n" -#: help.c:256 +#: help.c:233 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [MODÈLE] affiche la liste des transtypages\n" -#: help.c:257 +#: help.c:234 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr "" " \\dd[S] [MODÈLE] affiche les commentaires des objets dont le commentaire\n" " n'est affiché nul part ailleurs\n" -#: help.c:258 +#: help.c:235 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [MODÈLE] affiche la liste des domaines\n" -#: help.c:259 +#: help.c:236 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [MODÈLE] affiche les droits par défaut\n" -#: help.c:260 +#: help.c:237 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [MODÈLE] affiche la liste des tables distantes\n" -#: help.c:261 +#: help.c:238 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [MODÈLE] affiche la liste des serveurs distants\n" -#: help.c:262 +#: help.c:239 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [MODÈLE] affiche la liste des tables distantes\n" -#: help.c:263 +#: help.c:240 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [MODÈLE] affiche la liste des correspondances utilisateurs\n" -#: help.c:264 +#: help.c:241 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [MODÈLE] affiche la liste des wrappers de données distantes\n" -#: help.c:265 +#: help.c:242 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" @@ -3050,55 +3094,55 @@ msgstr "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " affiche la liste des fonctions [seulement agrégat/normal/procédure/trigger/window]\n" -#: help.c:267 +#: help.c:244 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr "" " \\dF[+] [MODÈLE] affiche la liste des configurations de la recherche\n" " plein texte\n" -#: help.c:268 +#: help.c:245 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr "" " \\dFd[+] [MODÈLE] affiche la liste des dictionnaires de la recherche de\n" " texte\n" -#: help.c:269 +#: help.c:246 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr "" " \\dFp[+] [MODÈLE] affiche la liste des analyseurs de la recherche de\n" " texte\n" -#: help.c:270 +#: help.c:247 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr "" " \\dFt[+] [MODÈLE] affiche la liste des modèles de la recherche de\n" " texte\n" -#: help.c:271 +#: help.c:248 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [MODÈLE] affiche la liste des rôles (utilisateurs)\n" -#: help.c:272 +#: help.c:249 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [MODÈLE] affiche la liste des index\n" -#: help.c:273 +#: help.c:250 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] liste des « Large Objects », identique à \\lo_list\n" -#: help.c:274 +#: help.c:251 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [MODÈLE] affiche la liste des langages procéduraux\n" -#: help.c:275 +#: help.c:252 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [MODÈLE] affiche la liste des vues matérialisées\n" -#: help.c:276 +#: help.c:253 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [MODÈLE] affiche la liste des schémas\n" -#: help.c:277 +#: help.c:254 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" @@ -3106,97 +3150,97 @@ msgstr "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " affiche la liste des opérateurs\n" -#: help.c:279 +#: help.c:256 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [MODÈLE] affiche la liste des collationnements\n" -#: help.c:280 +#: help.c:257 msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr "" " \\dp[S] [MODÈLE] affiche la liste des droits d'accès aux tables,\n" " vues, séquences\n" -#: help.c:281 +#: help.c:258 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[itn+] [PATTERN] affiche les relations partitionnées [seulement index/table] [n=imbriquées]\n" -#: help.c:282 +#: help.c:259 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr "" " \\drds [ROLEPTRN [DBPTRN]] liste la configuration utilisateur par base de données\n" "\n" -#: help.c:283 +#: help.c:260 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\dg[S] [MODÈLE] affiche la liste des droits des rôles\n" -#: help.c:284 +#: help.c:261 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[S+] [MODÈLE] affiche la liste des publications de réplication\n" -#: help.c:285 +#: help.c:262 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [MODÈLE] affiche la liste des souscriptions de réplication\n" -#: help.c:286 +#: help.c:263 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [MODÈLE] affiche la liste des séquences\n" -#: help.c:287 +#: help.c:264 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [MODÈLE] affiche la liste des tables\n" -#: help.c:288 +#: help.c:265 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [MODÈLE] affiche la liste des types de données\n" -#: help.c:289 +#: help.c:266 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [MODÈLE] affiche la liste des rôles (utilisateurs)\n" -#: help.c:290 +#: help.c:267 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [MODÈLE] affiche la liste des vues\n" -#: help.c:291 +#: help.c:268 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [MODÈLE] affiche la liste des extensions\n" -#: help.c:292 +#: help.c:269 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [MODÈLE] affiche les statistiques étendues\n" -#: help.c:293 +#: help.c:270 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [MODÈLE] affiche les triggers sur évènement\n" -#: help.c:294 +#: help.c:271 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [MODÈLE] affiche la liste des bases de données\n" -#: help.c:295 +#: help.c:272 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] [FONCTION] édite la définition d'une fonction\n" -#: help.c:296 +#: help.c:273 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv [FONCTION] édite la définition d'une vue\n" -#: help.c:297 +#: help.c:274 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [MODÈLE] identique à \\dp\n" -#: help.c:300 +#: help.c:277 msgid "Large Objects\n" msgstr "« Large objects »\n" -#: help.c:301 +#: help.c:278 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr "" " \\lo_export LOBOID FICHIER\n" " écrit un « Large Object » dans le fichier\n" -#: help.c:302 +#: help.c:279 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3204,42 +3248,42 @@ msgstr "" " \\lo_import FICHIER [COMMENTAIRE]\n" " lit un « Large Object » à partir du fichier\n" -#: help.c:304 +#: help.c:281 msgid " \\lo_list[+] list large objects\n" msgstr " \\dl[+] liste des « Large Objects »\n" -#: help.c:305 +#: help.c:282 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID supprime un « Large Object »\n" -#: help.c:308 +#: help.c:285 msgid "Formatting\n" msgstr "Formatage\n" -#: help.c:309 +#: help.c:286 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr "" " \\a bascule entre les modes de sortie alignée et non\n" " alignée\n" -#: help.c:310 +#: help.c:287 msgid " \\C [STRING] set table title, or unset if none\n" msgstr "" " \\C [CHAÎNE] initialise le titre d'une table, ou le désactive en\n" " l'absence d'argument\n" -#: help.c:311 +#: help.c:288 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr "" " \\f [CHAÎNE] affiche ou initialise le séparateur de champ pour\n" " une sortie non alignée des requêtes\n" -#: help.c:312 +#: help.c:289 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H bascule le mode de sortie HTML (actuellement %s)\n" -#: help.c:314 +#: help.c:291 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3257,31 +3301,31 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:321 +#: help.c:298 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t affiche uniquement les lignes (actuellement %s)\n" -#: help.c:323 +#: help.c:300 msgid " \\T [STRING] set HTML tag attributes, or unset if none\n" msgstr "" " \\T [CHAÎNE] initialise les attributs HTML de la balise
,\n" " ou l'annule en l'absence d'argument\n" -#: help.c:324 +#: help.c:301 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] bascule l'affichage étendu (actuellement %s)\n" -#: help.c:325 +#: help.c:302 msgid "auto" msgstr "auto" -#: help.c:328 +#: help.c:305 msgid "Connection\n" msgstr "Connexions\n" -#: help.c:330 +#: help.c:307 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3291,7 +3335,7 @@ msgstr "" " se connecte à une autre base de données\n" " (actuellement « %s »)\n" -#: help.c:334 +#: help.c:311 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3300,71 +3344,71 @@ msgstr "" " se connecte à une nouvelle base de données\n" " (aucune connexion actuellement)\n" -#: help.c:336 +#: help.c:313 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo affiche des informations sur la connexion en cours\n" -#: help.c:337 +#: help.c:314 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [ENCODAGE] affiche ou initialise l'encodage du client\n" -#: help.c:338 +#: help.c:315 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr "" " \\password [UTILISATEUR]\n" " modifie de façon sécurisé le mot de passe d'un\n" " utilisateur\n" -#: help.c:341 +#: help.c:318 msgid "Operating System\n" msgstr "Système d'exploitation\n" -#: help.c:342 +#: help.c:319 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [RÉPERTOIRE] change de répertoire de travail\n" -#: help.c:343 +#: help.c:320 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVVAR récupère une variable d'environnement\n" -#: help.c:344 +#: help.c:321 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NOM [VALEUR] (dés)initialise une variable d'environnement\n" -#: help.c:345 +#: help.c:322 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr "" " \\timing [on|off] bascule l'activation du chronométrage des commandes\n" " (actuellement %s)\n" -#: help.c:347 +#: help.c:324 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr "" " \\! [COMMANDE] exécute la commande dans un shell ou exécute un\n" " shell interactif\n" -#: help.c:350 +#: help.c:327 msgid "Variables\n" msgstr "Variables\n" -#: help.c:351 +#: help.c:328 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr "" " \\prompt [TEXTE] NOM demande à l'utilisateur de configurer la variable\n" " interne\n" -#: help.c:352 +#: help.c:329 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr "" " \\set [NOM [VALEUR]] initialise une variable interne ou les affiche\n" " toutes en l'absence de paramètre\n" -#: help.c:353 +#: help.c:330 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NOM désactive (supprime) la variable interne\n" -#: help.c:392 +#: help.c:369 msgid "" "List of specially treated variables\n" "\n" @@ -3372,11 +3416,11 @@ msgstr "" "Liste des variables traitées spécialement\n" "\n" -#: help.c:394 +#: help.c:371 msgid "psql variables:\n" msgstr "variables psql :\n" -#: help.c:396 +#: help.c:373 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3386,7 +3430,7 @@ msgstr "" " ou \\set NOM VALEUR dans psql\n" "\n" -#: help.c:398 +#: help.c:375 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3394,7 +3438,7 @@ msgstr "" " AUTOCOMMIT\n" " si activé, les commandes SQL réussies sont automatiquement validées\n" -#: help.c:400 +#: help.c:377 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3404,7 +3448,7 @@ msgstr "" " détermine la casse utilisée pour compléter les mots clés SQL\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:403 +#: help.c:380 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3412,7 +3456,7 @@ msgstr "" " DBNAME\n" " le nom de base de données actuel\n" -#: help.c:405 +#: help.c:382 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3422,7 +3466,7 @@ msgstr "" " contrôle ce qui est envoyé sur la sortie standard\n" " [all, errors, none, queries]\n" -#: help.c:408 +#: help.c:385 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3432,7 +3476,7 @@ msgstr "" " si activé, affiche les requêtes internes exécutées par les méta-commandes ;\n" " si configuré à « noexec », affiche les requêtes sans les exécuter\n" -#: help.c:411 +#: help.c:388 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3440,7 +3484,7 @@ msgstr "" " ENCODING\n" " encodage du jeu de caractères client\n" -#: help.c:413 +#: help.c:390 msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3448,7 +3492,7 @@ msgstr "" " ERROR\n" " true si la dernière requête a échoué, sinon false\n" -#: help.c:415 +#: help.c:392 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3457,7 +3501,7 @@ msgstr "" " le nombre de lignes résultats à récupérer et à afficher à la fois\n" " (0 pour illimité)\n" -#: help.c:417 +#: help.c:394 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3465,7 +3509,7 @@ msgstr "" " HIDE_TABLEAM\n" " si activé, les méthodes d'accès ne sont pas affichées\n" -#: help.c:419 +#: help.c:396 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3473,7 +3517,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " si activé, les méthodes de compression methods ne sont pas affichées\n" -#: help.c:421 +#: help.c:398 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3481,7 +3525,7 @@ msgstr "" " HISTCONTROL\n" " contrôle l'historique des commandes [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:423 +#: help.c:400 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3489,7 +3533,7 @@ msgstr "" " HISTFILE\n" " nom du fichier utilisé pour stocker l'historique des commandes\n" -#: help.c:425 +#: help.c:402 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3497,7 +3541,7 @@ msgstr "" " HISTSIZE\n" " nombre maximum de commandes à stocker dans l'historique de commandes\n" -#: help.c:427 +#: help.c:404 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3505,7 +3549,7 @@ msgstr "" " HOST\n" " l'hôte de la base de données\n" -#: help.c:429 +#: help.c:406 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3513,7 +3557,7 @@ msgstr "" " IGNOREEOF\n" " nombre d'EOF nécessaire pour terminer une session interactive\n" -#: help.c:431 +#: help.c:408 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3521,7 +3565,7 @@ msgstr "" " LASTOID\n" " valeur du dernier OID affecté\n" -#: help.c:433 +#: help.c:410 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3531,7 +3575,7 @@ msgstr "" " LAST_ERROR_SQLSTATE\n" " message et SQLSTATE de la dernière erreur ou une chaîne vide et \"00000\" if si aucune erreur\n" -#: help.c:436 +#: help.c:413 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3539,7 +3583,7 @@ msgstr "" " ON_ERROR_ROLLBACK\n" " si activé, une erreur n'arrête pas une transaction (utilise des savepoints implicites)\n" -#: help.c:438 +#: help.c:415 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3547,7 +3591,7 @@ msgstr "" " ON_ERROR_STOP\n" " arrête l'exécution d'un batch après une erreur\n" -#: help.c:440 +#: help.c:417 msgid "" " PORT\n" " server port of the current connection\n" @@ -3555,7 +3599,7 @@ msgstr "" " PORT\n" " port du serveur pour la connexion actuelle\n" -#: help.c:442 +#: help.c:419 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3563,7 +3607,7 @@ msgstr "" " PROMPT1\n" " spécifie l'invite standard de psql\n" -#: help.c:444 +#: help.c:421 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3571,7 +3615,7 @@ msgstr "" " PROMPT2\n" " spécifie l'invite utilisé quand une requête continue après la ligne courante\n" -#: help.c:446 +#: help.c:423 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3579,7 +3623,7 @@ msgstr "" " PROMPT3\n" " spécifie l'invite utilisée lors d'un COPY ... FROM STDIN\n" -#: help.c:448 +#: help.c:425 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3587,7 +3631,7 @@ msgstr "" " QUIET\n" " s'exécute en silence (identique à l'option -q)\n" -#: help.c:450 +#: help.c:427 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3595,7 +3639,7 @@ msgstr "" " ROW_COUNT\n" " nombre de lignes renvoyées ou affectées par la dernière requête, ou 0\n" -#: help.c:452 +#: help.c:429 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3605,7 +3649,7 @@ msgstr "" " SERVER_VERSION_NUM\n" " version du serveur (chaîne courte ou format numérique)\n" -#: help.c:455 +#: help.c:432 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3613,7 +3657,7 @@ msgstr "" " SHELL_ERROR\n" " true si la dernière requête a échoué, sinon false\n" -#: help.c:457 +#: help.c:434 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3621,7 +3665,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " code de sortie de la dernière commande shell\n" -#: help.c:459 +#: help.c:436 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3629,7 +3673,7 @@ msgstr "" " SHOW_ALL_RESULTS\n" " affiche tous les résultats d'une requête combinée (\\;) au lieu du dernier uniquement\n" -#: help.c:461 +#: help.c:438 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3637,7 +3681,7 @@ msgstr "" " SHOW_CONTEXT\n" " contrôle l'affichage des champs de contexte du message [never, errors, always]\n" -#: help.c:463 +#: help.c:440 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3645,7 +3689,7 @@ msgstr "" " SINGLELINE\n" " une fin de ligne termine le mode de commande SQL (identique à l'option -S)\n" -#: help.c:465 +#: help.c:442 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3653,7 +3697,7 @@ msgstr "" " SINGLESTEP\n" " mode pas à pas (identique à l'option -s)\n" -#: help.c:467 +#: help.c:444 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3661,7 +3705,7 @@ msgstr "" " SQLSTATE\n" " SQLSTATE de la dernière requête, ou \"00000\" si aucune erreur\n" -#: help.c:469 +#: help.c:446 msgid "" " USER\n" " the currently connected database user\n" @@ -3669,7 +3713,7 @@ msgstr "" " USER\n" " l'utilisateur actuellement connecté\n" -#: help.c:471 +#: help.c:448 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3677,7 +3721,7 @@ msgstr "" " VERBOSITY\n" " contrôle la verbosité des rapports d'erreurs [default, verbose, terse, sqlstate]\n" -#: help.c:473 +#: help.c:450 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3689,7 +3733,7 @@ msgstr "" " VERSION_NUM\n" " version de psql (chaîne longue, chaîne courte, ou format numérique)\n" -#: help.c:478 +#: help.c:455 msgid "" "\n" "Display settings:\n" @@ -3697,7 +3741,7 @@ msgstr "" "\n" "Paramètres d'affichage :\n" -#: help.c:480 +#: help.c:457 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3707,7 +3751,7 @@ msgstr "" " ou \\pset NOM [VALEUR] dans psql\n" "\n" -#: help.c:482 +#: help.c:459 msgid "" " border\n" " border style (number)\n" @@ -3715,7 +3759,7 @@ msgstr "" " border\n" " style de bordure (nombre)\n" -#: help.c:484 +#: help.c:461 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3723,7 +3767,7 @@ msgstr "" " columns\n" " largeur cible pour le format encadré\n" -#: help.c:486 +#: help.c:463 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3731,7 +3775,7 @@ msgstr "" " expanded (ou x)\n" " sortie étendue [on, off, auto]\n" -#: help.c:488 +#: help.c:465 #, c-format msgid "" " fieldsep\n" @@ -3740,7 +3784,7 @@ msgstr "" " fieldsep\n" " champ séparateur pour l'affichage non aligné (par défaut « %s »)\n" -#: help.c:491 +#: help.c:468 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3748,7 +3792,7 @@ msgstr "" " fieldsep_zero\n" " configure le séparateur de champ pour l'affichage non alignée à l'octet zéro\n" -#: help.c:493 +#: help.c:470 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3756,7 +3800,7 @@ msgstr "" " footer\n" " active ou désactive l'affiche du bas de tableau [on, off]\n" -#: help.c:495 +#: help.c:472 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3764,7 +3808,7 @@ msgstr "" " format\n" " active le format de sortie [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:497 +#: help.c:474 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3772,7 +3816,7 @@ msgstr "" " linestyle\n" " configure l'affichage des lignes de bordure [ascii, old-ascii, unicode]\n" -#: help.c:499 +#: help.c:476 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3780,7 +3824,7 @@ msgstr "" " null\n" " configure la chaîne à afficher à la place d'une valeur NULL\n" -#: help.c:501 +#: help.c:478 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3789,7 +3833,7 @@ msgstr "" " active ou désactive l'affichage d'un caractère spécifique à la locale pour séparer\n" " des groupes de chiffres [on, off]\n" -#: help.c:503 +#: help.c:480 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3797,7 +3841,7 @@ msgstr "" " pager\n" " contrôle quand un paginateur externe est utilisé [yes, no, always]\n" -#: help.c:505 +#: help.c:482 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3805,7 +3849,7 @@ msgstr "" " recordsep\n" " enregistre le séparateur de ligne pour les affichages non alignés\n" -#: help.c:507 +#: help.c:484 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3814,7 +3858,7 @@ msgstr "" " initialise le séparateur d'enregistrements pour un affichage\n" " non aligné à l'octet zéro\n" -#: help.c:509 +#: help.c:486 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3825,7 +3869,7 @@ msgstr "" " proportionnelles de colonnes pour les types de données alignés à gauche dans le\n" " format latex-longtable\n" -#: help.c:512 +#: help.c:489 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3833,7 +3877,7 @@ msgstr "" " title\n" " configure le titre de la table pour toute table affichée\n" -#: help.c:514 +#: help.c:491 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3841,7 +3885,7 @@ msgstr "" " tuples_only\n" " si activé, seules les données de la table sont affichées\n" -#: help.c:516 +#: help.c:493 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3853,7 +3897,7 @@ msgstr "" " unicode_header_linestyle\n" " configure le style d'affichage de ligne Unicode [single, double]\n" -#: help.c:521 +#: help.c:498 msgid "" "\n" "Environment variables:\n" @@ -3861,7 +3905,7 @@ msgstr "" "\n" "Variables d'environnement :\n" -#: help.c:525 +#: help.c:502 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3871,7 +3915,7 @@ msgstr "" " ou \\setenv NOM [VALEUR] dans psql\n" "\n" -#: help.c:527 +#: help.c:504 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3883,7 +3927,7 @@ msgstr "" " ou \\setenv NOM [VALEUR] dans psql\n" "\n" -#: help.c:530 +#: help.c:507 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3891,7 +3935,7 @@ msgstr "" " COLUMNS\n" " nombre de colonnes pour le format encadré\n" -#: help.c:532 +#: help.c:509 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3899,7 +3943,7 @@ msgstr "" " PGAPPNAME\n" " identique au paramètre de connexion application_name\n" -#: help.c:534 +#: help.c:511 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3907,7 +3951,7 @@ msgstr "" " PGDATABASE\n" " identique au paramètre de connexion dbname\n" -#: help.c:536 +#: help.c:513 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3915,7 +3959,7 @@ msgstr "" " PGHOST\n" " identique au paramètre de connexion host\n" -#: help.c:538 +#: help.c:515 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3923,7 +3967,7 @@ msgstr "" " PGPASSFILE\n" " nom du fichier de mot de passe\n" -#: help.c:540 +#: help.c:517 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3931,7 +3975,7 @@ msgstr "" " PGPASSWORD\n" " mot de passe de connexion (non recommendé)\n" -#: help.c:542 +#: help.c:519 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3939,7 +3983,7 @@ msgstr "" " PGPORT\n" " identique au paramètre de connexion port\n" -#: help.c:544 +#: help.c:521 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3947,7 +3991,7 @@ msgstr "" " PGUSER\n" " identique au paramètre de connexion user\n" -#: help.c:546 +#: help.c:523 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3955,7 +3999,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " éditeur utilisé par les commandes \\e, \\ef et \\ev\n" -#: help.c:548 +#: help.c:525 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3963,7 +4007,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " comment spécifier un numéro de ligne lors de l'appel de l'éditeur\n" -#: help.c:550 +#: help.c:527 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3971,7 +4015,7 @@ msgstr "" " PSQL_HISTORY\n" " autre emplacement pour le fichier d'historique des commandes\n" -#: help.c:552 +#: help.c:529 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3979,7 +4023,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " nom du paginateur externe\n" -#: help.c:555 +#: help.c:532 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3987,7 +4031,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " nom du paginateur externe utilisé pour \\watch\n" -#: help.c:558 +#: help.c:535 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3995,7 +4039,7 @@ msgstr "" " PSQLRC\n" " autre emplacement pour le fichier .psqlrc de l'utilisateur\n" -#: help.c:560 +#: help.c:537 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -4003,7 +4047,7 @@ msgstr "" " SHELL\n" " shell utilisé par la commande \\!\n" -#: help.c:562 +#: help.c:539 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -4011,11 +4055,11 @@ msgstr "" " TMPDIR\n" " répertoire pour les fichiers temporaires\n" -#: help.c:622 +#: help.c:599 msgid "Available help:\n" msgstr "Aide-mémoire disponible :\n" -#: help.c:717 +#: help.c:694 #, c-format msgid "" "Command: %s\n" @@ -4034,7 +4078,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:740 +#: help.c:717 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4043,17 +4087,17 @@ msgstr "" "Aucun aide-mémoire disponible pour « %s ».\n" "Essayez \\h sans arguments pour afficher les aide-mémoires disponibles.\n" -#: input.c:216 +#: input.c:215 #, c-format msgid "could not read from input file: %m" msgstr "n'a pas pu lire à partir du fichier en entrée : %m" -#: input.c:477 input.c:515 +#: input.c:476 input.c:514 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "n'a pas pu sauvegarder l'historique dans le fichier « %s » : %m" -#: input.c:534 +#: input.c:533 #, c-format msgid "history is not supported by this installation" msgstr "l'historique n'est pas supportée par cette installation" @@ -4141,12 +4185,12 @@ msgstr "requête ignorée ; utilisez \\endif ou Ctrl-C pour quitter le bloc \\if msgid "reached EOF without finding closing \\endif(s)" msgstr "a atteint EOF sans trouver le(s) \\endif fermant" -#: psqlscanslash.l:640 +#: psqlscanslash.l:642 #, c-format msgid "unterminated quoted string" msgstr "chaîne entre guillemets non terminée" -#: psqlscanslash.l:825 +#: psqlscanslash.l:842 #, c-format msgid "%s: out of memory" msgstr "%s : mémoire épuisée" @@ -4154,2433 +4198,2462 @@ msgstr "%s : mémoire épuisée" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:238 -#: sql_help.c:240 sql_help.c:241 sql_help.c:243 sql_help.c:245 sql_help.c:248 -#: sql_help.c:250 sql_help.c:252 sql_help.c:254 sql_help.c:266 sql_help.c:267 -#: sql_help.c:268 sql_help.c:270 sql_help.c:319 sql_help.c:321 sql_help.c:323 -#: sql_help.c:325 sql_help.c:394 sql_help.c:399 sql_help.c:401 sql_help.c:443 -#: sql_help.c:445 sql_help.c:448 sql_help.c:450 sql_help.c:519 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:593 sql_help.c:595 -#: sql_help.c:597 sql_help.c:599 sql_help.c:601 sql_help.c:604 sql_help.c:606 -#: sql_help.c:609 sql_help.c:620 sql_help.c:622 sql_help.c:666 sql_help.c:668 -#: sql_help.c:670 sql_help.c:673 sql_help.c:675 sql_help.c:677 sql_help.c:714 -#: sql_help.c:718 sql_help.c:722 sql_help.c:741 sql_help.c:744 sql_help.c:747 -#: sql_help.c:776 sql_help.c:788 sql_help.c:796 sql_help.c:799 sql_help.c:802 -#: sql_help.c:817 sql_help.c:820 sql_help.c:849 sql_help.c:854 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:896 sql_help.c:898 sql_help.c:900 -#: sql_help.c:902 sql_help.c:905 sql_help.c:907 sql_help.c:954 sql_help.c:999 -#: sql_help.c:1004 sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 -#: sql_help.c:1038 sql_help.c:1049 sql_help.c:1051 sql_help.c:1071 -#: sql_help.c:1081 sql_help.c:1082 sql_help.c:1084 sql_help.c:1086 -#: sql_help.c:1098 sql_help.c:1102 sql_help.c:1104 sql_help.c:1116 -#: sql_help.c:1118 sql_help.c:1120 sql_help.c:1122 sql_help.c:1141 -#: sql_help.c:1143 sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 -#: sql_help.c:1158 sql_help.c:1159 sql_help.c:1160 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1168 sql_help.c:1308 sql_help.c:1310 -#: sql_help.c:1313 sql_help.c:1316 sql_help.c:1318 sql_help.c:1320 -#: sql_help.c:1323 sql_help.c:1326 sql_help.c:1443 sql_help.c:1445 -#: sql_help.c:1447 sql_help.c:1450 sql_help.c:1471 sql_help.c:1474 -#: sql_help.c:1477 sql_help.c:1480 sql_help.c:1484 sql_help.c:1486 -#: sql_help.c:1488 sql_help.c:1490 sql_help.c:1504 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1521 sql_help.c:1523 -#: sql_help.c:1533 sql_help.c:1535 sql_help.c:1545 sql_help.c:1548 -#: sql_help.c:1571 sql_help.c:1573 sql_help.c:1575 sql_help.c:1577 -#: sql_help.c:1580 sql_help.c:1582 sql_help.c:1585 sql_help.c:1588 -#: sql_help.c:1639 sql_help.c:1682 sql_help.c:1685 sql_help.c:1687 -#: sql_help.c:1689 sql_help.c:1692 sql_help.c:1694 sql_help.c:1696 -#: sql_help.c:1699 sql_help.c:1751 sql_help.c:1767 sql_help.c:2000 -#: sql_help.c:2069 sql_help.c:2088 sql_help.c:2101 sql_help.c:2159 -#: sql_help.c:2167 sql_help.c:2177 sql_help.c:2204 sql_help.c:2236 -#: sql_help.c:2254 sql_help.c:2282 sql_help.c:2393 sql_help.c:2439 -#: sql_help.c:2464 sql_help.c:2487 sql_help.c:2491 sql_help.c:2525 -#: sql_help.c:2545 sql_help.c:2567 sql_help.c:2581 sql_help.c:2602 -#: sql_help.c:2631 sql_help.c:2666 sql_help.c:2691 sql_help.c:2738 -#: sql_help.c:3033 sql_help.c:3046 sql_help.c:3063 sql_help.c:3079 -#: sql_help.c:3119 sql_help.c:3173 sql_help.c:3177 sql_help.c:3179 -#: sql_help.c:3186 sql_help.c:3205 sql_help.c:3232 sql_help.c:3267 -#: sql_help.c:3279 sql_help.c:3288 sql_help.c:3332 sql_help.c:3346 -#: sql_help.c:3374 sql_help.c:3382 sql_help.c:3394 sql_help.c:3404 -#: sql_help.c:3412 sql_help.c:3420 sql_help.c:3428 sql_help.c:3436 -#: sql_help.c:3445 sql_help.c:3456 sql_help.c:3464 sql_help.c:3472 -#: sql_help.c:3480 sql_help.c:3488 sql_help.c:3498 sql_help.c:3507 -#: sql_help.c:3516 sql_help.c:3524 sql_help.c:3534 sql_help.c:3545 -#: sql_help.c:3553 sql_help.c:3562 sql_help.c:3573 sql_help.c:3582 -#: sql_help.c:3590 sql_help.c:3598 sql_help.c:3606 sql_help.c:3614 -#: sql_help.c:3622 sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 -#: sql_help.c:3654 sql_help.c:3662 sql_help.c:3679 sql_help.c:3688 -#: sql_help.c:3696 sql_help.c:3713 sql_help.c:3728 sql_help.c:4040 -#: sql_help.c:4150 sql_help.c:4179 sql_help.c:4195 sql_help.c:4197 -#: sql_help.c:4700 sql_help.c:4748 sql_help.c:4906 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 +#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 +#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 +#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 +#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 +#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 +#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 +#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 +#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 +#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720 +#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755 +#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810 +#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867 +#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908 +#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007 +#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027 +#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079 +#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 +#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124 +#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149 +#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163 +#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171 +#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1323 sql_help.c:1325 +#: sql_help.c:1328 sql_help.c:1331 sql_help.c:1333 sql_help.c:1335 +#: sql_help.c:1338 sql_help.c:1341 sql_help.c:1343 sql_help.c:1349 +#: sql_help.c:1473 sql_help.c:1475 sql_help.c:1477 sql_help.c:1480 +#: sql_help.c:1501 sql_help.c:1504 sql_help.c:1507 sql_help.c:1510 +#: sql_help.c:1514 sql_help.c:1516 sql_help.c:1518 sql_help.c:1520 +#: sql_help.c:1534 sql_help.c:1537 sql_help.c:1539 sql_help.c:1541 +#: sql_help.c:1551 sql_help.c:1553 sql_help.c:1563 sql_help.c:1565 +#: sql_help.c:1575 sql_help.c:1578 sql_help.c:1601 sql_help.c:1603 +#: sql_help.c:1605 sql_help.c:1607 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1618 sql_help.c:1669 sql_help.c:1712 +#: sql_help.c:1715 sql_help.c:1717 sql_help.c:1719 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1726 sql_help.c:1729 sql_help.c:1779 +#: sql_help.c:1795 sql_help.c:2028 sql_help.c:2097 sql_help.c:2116 +#: sql_help.c:2129 sql_help.c:2187 sql_help.c:2195 sql_help.c:2205 +#: sql_help.c:2233 sql_help.c:2266 sql_help.c:2284 sql_help.c:2312 +#: sql_help.c:2423 sql_help.c:2469 sql_help.c:2494 sql_help.c:2517 +#: sql_help.c:2521 sql_help.c:2555 sql_help.c:2575 sql_help.c:2597 +#: sql_help.c:2611 sql_help.c:2632 sql_help.c:2661 sql_help.c:2694 +#: sql_help.c:2717 sql_help.c:2764 sql_help.c:3062 sql_help.c:3075 +#: sql_help.c:3092 sql_help.c:3108 sql_help.c:3148 sql_help.c:3202 +#: sql_help.c:3206 sql_help.c:3208 sql_help.c:3215 sql_help.c:3234 +#: sql_help.c:3261 sql_help.c:3296 sql_help.c:3308 sql_help.c:3317 +#: sql_help.c:3361 sql_help.c:3375 sql_help.c:3403 sql_help.c:3411 +#: sql_help.c:3423 sql_help.c:3433 sql_help.c:3441 sql_help.c:3449 +#: sql_help.c:3457 sql_help.c:3465 sql_help.c:3474 sql_help.c:3485 +#: sql_help.c:3493 sql_help.c:3501 sql_help.c:3509 sql_help.c:3517 +#: sql_help.c:3527 sql_help.c:3536 sql_help.c:3545 sql_help.c:3553 +#: sql_help.c:3563 sql_help.c:3574 sql_help.c:3582 sql_help.c:3591 +#: sql_help.c:3602 sql_help.c:3611 sql_help.c:3619 sql_help.c:3627 +#: sql_help.c:3635 sql_help.c:3643 sql_help.c:3651 sql_help.c:3659 +#: sql_help.c:3667 sql_help.c:3675 sql_help.c:3683 sql_help.c:3691 +#: sql_help.c:3708 sql_help.c:3717 sql_help.c:3725 sql_help.c:3742 +#: sql_help.c:3757 sql_help.c:4070 sql_help.c:4191 sql_help.c:4220 +#: sql_help.c:4236 sql_help.c:4238 sql_help.c:4742 sql_help.c:4790 +#: sql_help.c:4949 msgid "name" msgstr "nom" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1848 -#: sql_help.c:3347 sql_help.c:4468 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1872 +#: sql_help.c:3376 sql_help.c:4509 msgid "aggregate_signature" msgstr "signature_agrégat" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:449 sql_help.c:528 sql_help.c:576 -#: sql_help.c:594 sql_help.c:621 sql_help.c:674 sql_help.c:743 sql_help.c:798 -#: sql_help.c:819 sql_help.c:858 sql_help.c:908 sql_help.c:955 sql_help.c:1008 -#: sql_help.c:1040 sql_help.c:1050 sql_help.c:1085 sql_help.c:1105 -#: sql_help.c:1119 sql_help.c:1169 sql_help.c:1317 sql_help.c:1444 -#: sql_help.c:1487 sql_help.c:1508 sql_help.c:1522 sql_help.c:1534 -#: sql_help.c:1547 sql_help.c:1574 sql_help.c:1640 sql_help.c:1693 +#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 +#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 +#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806 +#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016 +#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113 +#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1332 sql_help.c:1474 +#: sql_help.c:1517 sql_help.c:1538 sql_help.c:1552 sql_help.c:1564 +#: sql_help.c:1577 sql_help.c:1604 sql_help.c:1670 sql_help.c:1723 msgid "new_name" msgstr "nouveau_nom" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:251 -#: sql_help.c:269 sql_help.c:400 sql_help.c:485 sql_help.c:533 sql_help.c:623 -#: sql_help.c:632 sql_help.c:697 sql_help.c:717 sql_help.c:746 sql_help.c:801 -#: sql_help.c:863 sql_help.c:906 sql_help.c:1013 sql_help.c:1052 -#: sql_help.c:1083 sql_help.c:1103 sql_help.c:1117 sql_help.c:1167 -#: sql_help.c:1381 sql_help.c:1446 sql_help.c:1489 sql_help.c:1510 -#: sql_help.c:1572 sql_help.c:1688 sql_help.c:3019 +#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 +#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 +#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809 +#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060 +#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175 +#: sql_help.c:1408 sql_help.c:1476 sql_help.c:1519 sql_help.c:1540 +#: sql_help.c:1602 sql_help.c:1718 sql_help.c:3048 msgid "new_owner" msgstr "nouveau_propriétaire" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:255 sql_help.c:322 -#: sql_help.c:451 sql_help.c:538 sql_help.c:676 sql_help.c:721 sql_help.c:749 -#: sql_help.c:804 sql_help.c:868 sql_help.c:1018 sql_help.c:1087 -#: sql_help.c:1121 sql_help.c:1319 sql_help.c:1491 sql_help.c:1512 -#: sql_help.c:1524 sql_help.c:1536 sql_help.c:1576 sql_help.c:1695 +#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 +#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757 +#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095 +#: sql_help.c:1129 sql_help.c:1334 sql_help.c:1521 sql_help.c:1542 +#: sql_help.c:1554 sql_help.c:1566 sql_help.c:1606 sql_help.c:1725 msgid "new_schema" msgstr "nouveau_schéma" -#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 +#: sql_help.c:44 sql_help.c:1936 sql_help.c:3377 sql_help.c:4538 msgid "where aggregate_signature is:" msgstr "où signature_agrégat est :" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:340 sql_help.c:353 -#: sql_help.c:357 sql_help.c:373 sql_help.c:376 sql_help.c:379 sql_help.c:520 -#: sql_help.c:525 sql_help.c:530 sql_help.c:535 sql_help.c:540 sql_help.c:850 -#: sql_help.c:855 sql_help.c:860 sql_help.c:865 sql_help.c:870 sql_help.c:1000 -#: sql_help.c:1005 sql_help.c:1010 sql_help.c:1015 sql_help.c:1020 -#: sql_help.c:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2070 sql_help.c:2089 -#: sql_help.c:2092 sql_help.c:2394 sql_help.c:2603 sql_help.c:3349 -#: sql_help.c:3352 sql_help.c:3355 sql_help.c:3446 sql_help.c:3535 -#: sql_help.c:3563 sql_help.c:3915 sql_help.c:4367 sql_help.c:4474 -#: sql_help.c:4481 sql_help.c:4487 sql_help.c:4498 sql_help.c:4501 -#: sql_help.c:4504 +#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 +#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 +#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858 +#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008 +#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028 +#: sql_help.c:1890 sql_help.c:1907 sql_help.c:1913 sql_help.c:1937 +#: sql_help.c:1940 sql_help.c:1943 sql_help.c:2098 sql_help.c:2117 +#: sql_help.c:2120 sql_help.c:2424 sql_help.c:2633 sql_help.c:3378 +#: sql_help.c:3381 sql_help.c:3384 sql_help.c:3475 sql_help.c:3564 +#: sql_help.c:3592 sql_help.c:3945 sql_help.c:4408 sql_help.c:4515 +#: sql_help.c:4522 sql_help.c:4528 sql_help.c:4539 sql_help.c:4542 +#: sql_help.c:4545 msgid "argmode" msgstr "mode_argument" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:341 sql_help.c:354 -#: sql_help.c:358 sql_help.c:374 sql_help.c:377 sql_help.c:380 sql_help.c:521 -#: sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:851 -#: sql_help.c:856 sql_help.c:861 sql_help.c:866 sql_help.c:871 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1867 sql_help.c:1884 sql_help.c:1890 sql_help.c:1914 -#: sql_help.c:1917 sql_help.c:1920 sql_help.c:2071 sql_help.c:2090 -#: sql_help.c:2093 sql_help.c:2395 sql_help.c:2604 sql_help.c:3350 -#: sql_help.c:3353 sql_help.c:3356 sql_help.c:3447 sql_help.c:3536 -#: sql_help.c:3564 sql_help.c:4475 sql_help.c:4482 sql_help.c:4488 -#: sql_help.c:4499 sql_help.c:4502 sql_help.c:4505 +#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 +#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 +#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859 +#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009 +#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029 +#: sql_help.c:1891 sql_help.c:1908 sql_help.c:1914 sql_help.c:1938 +#: sql_help.c:1941 sql_help.c:1944 sql_help.c:2099 sql_help.c:2118 +#: sql_help.c:2121 sql_help.c:2425 sql_help.c:2634 sql_help.c:3379 +#: sql_help.c:3382 sql_help.c:3385 sql_help.c:3476 sql_help.c:3565 +#: sql_help.c:3593 sql_help.c:4516 sql_help.c:4523 sql_help.c:4529 +#: sql_help.c:4540 sql_help.c:4543 sql_help.c:4546 msgid "argname" msgstr "nom_agrégat" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1868 sql_help.c:1885 sql_help.c:1891 sql_help.c:1915 -#: sql_help.c:1918 sql_help.c:1921 sql_help.c:2396 sql_help.c:2605 -#: sql_help.c:3351 sql_help.c:3354 sql_help.c:3357 sql_help.c:3448 -#: sql_help.c:3537 sql_help.c:3565 sql_help.c:4476 sql_help.c:4483 -#: sql_help.c:4489 sql_help.c:4500 sql_help.c:4503 sql_help.c:4506 +#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 +#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 +#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860 +#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010 +#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 +#: sql_help.c:1892 sql_help.c:1909 sql_help.c:1915 sql_help.c:1939 +#: sql_help.c:1942 sql_help.c:1945 sql_help.c:2426 sql_help.c:2635 +#: sql_help.c:3380 sql_help.c:3383 sql_help.c:3386 sql_help.c:3477 +#: sql_help.c:3566 sql_help.c:3594 sql_help.c:4517 sql_help.c:4524 +#: sql_help.c:4530 sql_help.c:4541 sql_help.c:4544 sql_help.c:4547 msgid "argtype" msgstr "type_argument" -#: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 -#: sql_help.c:1100 sql_help.c:1505 sql_help.c:1634 sql_help.c:1666 -#: sql_help.c:1719 sql_help.c:1783 sql_help.c:1970 sql_help.c:1977 -#: sql_help.c:2285 sql_help.c:2335 sql_help.c:2342 sql_help.c:2351 -#: sql_help.c:2440 sql_help.c:2667 sql_help.c:2760 sql_help.c:3048 -#: sql_help.c:3233 sql_help.c:3255 sql_help.c:3395 sql_help.c:3751 -#: sql_help.c:3959 sql_help.c:4194 sql_help.c:4196 sql_help.c:4973 +#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957 +#: sql_help.c:1108 sql_help.c:1535 sql_help.c:1664 sql_help.c:1696 +#: sql_help.c:1748 sql_help.c:1807 sql_help.c:1996 sql_help.c:2003 +#: sql_help.c:2315 sql_help.c:2365 sql_help.c:2372 sql_help.c:2381 +#: sql_help.c:2470 sql_help.c:2695 sql_help.c:2786 sql_help.c:3077 +#: sql_help.c:3262 sql_help.c:3284 sql_help.c:3424 sql_help.c:3781 +#: sql_help.c:3989 sql_help.c:4235 sql_help.c:4237 sql_help.c:5015 msgid "option" msgstr "option" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1635 sql_help.c:2441 -#: sql_help.c:2668 sql_help.c:3234 sql_help.c:3396 +#: sql_help.c:115 sql_help.c:958 sql_help.c:1665 sql_help.c:2471 +#: sql_help.c:2696 sql_help.c:3263 sql_help.c:3425 msgid "where option can be:" msgstr "où option peut être :" -#: sql_help.c:116 sql_help.c:2217 +#: sql_help.c:116 sql_help.c:2247 msgid "allowconn" msgstr "allowconn" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1636 sql_help.c:2218 -#: sql_help.c:2442 sql_help.c:2669 sql_help.c:3235 +#: sql_help.c:117 sql_help.c:959 sql_help.c:1666 sql_help.c:2248 +#: sql_help.c:2472 sql_help.c:2697 sql_help.c:3264 msgid "connlimit" msgstr "limite_de_connexion" -#: sql_help.c:118 sql_help.c:2219 +#: sql_help.c:118 sql_help.c:2249 msgid "istemplate" msgstr "istemplate" -#: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1322 -#: sql_help.c:1374 sql_help.c:4200 +#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1337 +#: sql_help.c:1401 sql_help.c:4241 msgid "new_tablespace" msgstr "nouveau_tablespace" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:548 sql_help.c:550 -#: sql_help.c:551 sql_help.c:875 sql_help.c:877 sql_help.c:878 sql_help.c:958 -#: sql_help.c:962 sql_help.c:965 sql_help.c:1027 sql_help.c:1029 -#: sql_help.c:1030 sql_help.c:1180 sql_help.c:1183 sql_help.c:1643 -#: sql_help.c:1647 sql_help.c:1650 sql_help.c:2406 sql_help.c:2609 -#: sql_help.c:3927 sql_help.c:4218 sql_help.c:4379 sql_help.c:4688 +#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 +#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966 +#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037 +#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1673 +#: sql_help.c:1677 sql_help.c:1680 sql_help.c:2436 sql_help.c:2639 +#: sql_help.c:3957 sql_help.c:4259 sql_help.c:4420 sql_help.c:4730 msgid "configuration_parameter" msgstr "paramètre_configuration" -#: sql_help.c:128 sql_help.c:398 sql_help.c:469 sql_help.c:475 sql_help.c:487 -#: sql_help.c:549 sql_help.c:603 sql_help.c:685 sql_help.c:695 sql_help.c:876 -#: sql_help.c:904 sql_help.c:959 sql_help.c:1028 sql_help.c:1101 -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:1157 -#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1181 sql_help.c:1182 -#: sql_help.c:1353 sql_help.c:1376 sql_help.c:1424 sql_help.c:1449 -#: sql_help.c:1506 sql_help.c:1590 sql_help.c:1644 sql_help.c:1667 -#: sql_help.c:2286 sql_help.c:2336 sql_help.c:2343 sql_help.c:2352 -#: sql_help.c:2407 sql_help.c:2408 sql_help.c:2472 sql_help.c:2475 -#: sql_help.c:2509 sql_help.c:2610 sql_help.c:2611 sql_help.c:2634 -#: sql_help.c:2761 sql_help.c:2800 sql_help.c:2910 sql_help.c:2923 -#: sql_help.c:2937 sql_help.c:2978 sql_help.c:3005 sql_help.c:3022 -#: sql_help.c:3049 sql_help.c:3256 sql_help.c:3960 sql_help.c:4689 -#: sql_help.c:4690 sql_help.c:4691 sql_help.c:4692 +#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 +#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884 +#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109 +#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165 +#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1380 +#: sql_help.c:1403 sql_help.c:1451 sql_help.c:1459 sql_help.c:1479 +#: sql_help.c:1536 sql_help.c:1620 sql_help.c:1674 sql_help.c:1697 +#: sql_help.c:2316 sql_help.c:2366 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2437 sql_help.c:2438 sql_help.c:2502 sql_help.c:2505 +#: sql_help.c:2539 sql_help.c:2640 sql_help.c:2641 sql_help.c:2664 +#: sql_help.c:2787 sql_help.c:2826 sql_help.c:2936 sql_help.c:2949 +#: sql_help.c:2963 sql_help.c:3004 sql_help.c:3012 sql_help.c:3034 +#: sql_help.c:3051 sql_help.c:3078 sql_help.c:3285 sql_help.c:3990 +#: sql_help.c:4731 sql_help.c:4732 sql_help.c:4733 sql_help.c:4734 msgid "value" msgstr "valeur" -#: sql_help.c:200 +#: sql_help.c:202 msgid "target_role" msgstr "rôle_cible" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2270 sql_help.c:2639 -#: sql_help.c:2716 sql_help.c:2721 sql_help.c:3890 sql_help.c:3899 -#: sql_help.c:3918 sql_help.c:3930 sql_help.c:4342 sql_help.c:4351 -#: sql_help.c:4370 sql_help.c:4382 +#: sql_help.c:203 sql_help.c:921 sql_help.c:2300 sql_help.c:2669 +#: sql_help.c:2742 sql_help.c:2747 sql_help.c:3920 sql_help.c:3929 +#: sql_help.c:3948 sql_help.c:3960 sql_help.c:4383 sql_help.c:4392 +#: sql_help.c:4411 sql_help.c:4423 msgid "schema_name" msgstr "nom_schéma" -#: sql_help.c:202 +#: sql_help.c:204 msgid "abbreviated_grant_or_revoke" msgstr "grant_ou_revoke_raccourci" -#: sql_help.c:203 +#: sql_help.c:205 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "où abbreviated_grant_or_revoke fait partie de :" -#: sql_help.c:204 sql_help.c:205 sql_help.c:206 sql_help.c:207 sql_help.c:208 -#: sql_help.c:209 sql_help.c:210 sql_help.c:211 sql_help.c:212 sql_help.c:213 -#: sql_help.c:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1321 sql_help.c:1654 sql_help.c:2445 sql_help.c:2446 -#: sql_help.c:2447 sql_help.c:2448 sql_help.c:2449 sql_help.c:2583 -#: sql_help.c:2672 sql_help.c:2673 sql_help.c:2674 sql_help.c:2675 -#: sql_help.c:2676 sql_help.c:3238 sql_help.c:3239 sql_help.c:3240 -#: sql_help.c:3241 sql_help.c:3242 sql_help.c:3939 sql_help.c:3943 -#: sql_help.c:4391 sql_help.c:4395 sql_help.c:4710 +#: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 +#: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 +#: sql_help.c:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977 +#: sql_help.c:1336 sql_help.c:1684 sql_help.c:2475 sql_help.c:2476 +#: sql_help.c:2477 sql_help.c:2478 sql_help.c:2479 sql_help.c:2613 +#: sql_help.c:2700 sql_help.c:2701 sql_help.c:2702 sql_help.c:3267 +#: sql_help.c:3268 sql_help.c:3269 sql_help.c:3270 sql_help.c:3271 +#: sql_help.c:3969 sql_help.c:3973 sql_help.c:4432 sql_help.c:4436 +#: sql_help.c:4752 msgid "role_name" msgstr "nom_rôle" -#: sql_help.c:239 sql_help.c:462 sql_help.c:912 sql_help.c:1337 sql_help.c:1339 -#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1428 sql_help.c:1684 -#: sql_help.c:2239 sql_help.c:2243 sql_help.c:2355 sql_help.c:2360 -#: sql_help.c:2468 sql_help.c:2638 sql_help.c:2777 sql_help.c:2782 -#: sql_help.c:2784 sql_help.c:2905 sql_help.c:2918 sql_help.c:2932 -#: sql_help.c:2941 sql_help.c:2953 sql_help.c:2982 sql_help.c:3991 -#: sql_help.c:4006 sql_help.c:4008 sql_help.c:4095 sql_help.c:4098 -#: sql_help.c:4100 sql_help.c:4561 sql_help.c:4562 sql_help.c:4571 -#: sql_help.c:4618 sql_help.c:4619 sql_help.c:4620 sql_help.c:4621 -#: sql_help.c:4622 sql_help.c:4623 sql_help.c:4663 sql_help.c:4664 -#: sql_help.c:4669 sql_help.c:4674 sql_help.c:4818 sql_help.c:4819 -#: sql_help.c:4828 sql_help.c:4875 sql_help.c:4876 sql_help.c:4877 -#: sql_help.c:4878 sql_help.c:4879 sql_help.c:4880 sql_help.c:4934 -#: sql_help.c:4936 sql_help.c:5004 sql_help.c:5064 sql_help.c:5065 -#: sql_help.c:5074 sql_help.c:5121 sql_help.c:5122 sql_help.c:5123 -#: sql_help.c:5124 sql_help.c:5125 sql_help.c:5126 +#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1362 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1418 sql_help.c:1430 sql_help.c:1455 +#: sql_help.c:1714 sql_help.c:2269 sql_help.c:2273 sql_help.c:2385 +#: sql_help.c:2390 sql_help.c:2498 sql_help.c:2668 sql_help.c:2803 +#: sql_help.c:2808 sql_help.c:2810 sql_help.c:2931 sql_help.c:2944 +#: sql_help.c:2958 sql_help.c:2967 sql_help.c:2979 sql_help.c:3008 +#: sql_help.c:4021 sql_help.c:4036 sql_help.c:4038 sql_help.c:4134 +#: sql_help.c:4137 sql_help.c:4139 sql_help.c:4602 sql_help.c:4603 +#: sql_help.c:4612 sql_help.c:4659 sql_help.c:4660 sql_help.c:4661 +#: sql_help.c:4662 sql_help.c:4663 sql_help.c:4664 sql_help.c:4705 +#: sql_help.c:4706 sql_help.c:4711 sql_help.c:4716 sql_help.c:4860 +#: sql_help.c:4861 sql_help.c:4870 sql_help.c:4917 sql_help.c:4918 +#: sql_help.c:4919 sql_help.c:4920 sql_help.c:4921 sql_help.c:4922 +#: sql_help.c:4977 sql_help.c:4979 sql_help.c:5045 sql_help.c:5105 +#: sql_help.c:5106 sql_help.c:5115 sql_help.c:5162 sql_help.c:5163 +#: sql_help.c:5164 sql_help.c:5165 sql_help.c:5166 sql_help.c:5167 msgid "expression" msgstr "expression" -#: sql_help.c:242 +#: sql_help.c:244 sql_help.c:2270 msgid "domain_constraint" msgstr "contrainte_domaine" -#: sql_help.c:244 sql_help.c:246 sql_help.c:249 sql_help.c:477 sql_help.c:478 -#: sql_help.c:1314 sql_help.c:1361 sql_help.c:1362 sql_help.c:1363 -#: sql_help.c:1390 sql_help.c:1402 sql_help.c:1419 sql_help.c:1854 -#: sql_help.c:1856 sql_help.c:2242 sql_help.c:2354 sql_help.c:2359 -#: sql_help.c:2940 sql_help.c:2952 sql_help.c:4003 +#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 +#: sql_help.c:1329 sql_help.c:1388 sql_help.c:1389 sql_help.c:1390 +#: sql_help.c:1417 sql_help.c:1429 sql_help.c:1446 sql_help.c:1878 +#: sql_help.c:1880 sql_help.c:2272 sql_help.c:2384 sql_help.c:2389 +#: sql_help.c:2966 sql_help.c:2978 sql_help.c:4033 msgid "constraint_name" msgstr "nom_contrainte" -#: sql_help.c:247 sql_help.c:1315 +#: sql_help.c:249 sql_help.c:1330 msgid "new_constraint_name" msgstr "nouvelle_nom_contrainte" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1107 msgid "new_version" msgstr "nouvelle_version" -#: sql_help.c:324 sql_help.c:326 +#: sql_help.c:326 sql_help.c:328 msgid "member_object" msgstr "objet_membre" -#: sql_help.c:327 +#: sql_help.c:329 msgid "where member_object is:" msgstr "où objet_membre fait partie de :" -#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 -#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 -#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 -#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 -#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 -#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 -#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 -#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 -#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 -#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 -#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 -#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 -#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 -#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 -#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 -#: sql_help.c:4495 +#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 +#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 +#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 +#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 +#: sql_help.c:373 sql_help.c:1870 sql_help.c:1875 sql_help.c:1882 +#: sql_help.c:1883 sql_help.c:1884 sql_help.c:1885 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1888 sql_help.c:1893 sql_help.c:1895 +#: sql_help.c:1899 sql_help.c:1901 sql_help.c:1905 sql_help.c:1910 +#: sql_help.c:1911 sql_help.c:1918 sql_help.c:1919 sql_help.c:1920 +#: sql_help.c:1921 sql_help.c:1922 sql_help.c:1923 sql_help.c:1924 +#: sql_help.c:1925 sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 +#: sql_help.c:1933 sql_help.c:1934 sql_help.c:4505 sql_help.c:4510 +#: sql_help.c:4511 sql_help.c:4512 sql_help.c:4513 sql_help.c:4519 +#: sql_help.c:4520 sql_help.c:4525 sql_help.c:4526 sql_help.c:4531 +#: sql_help.c:4532 sql_help.c:4533 sql_help.c:4534 sql_help.c:4535 +#: sql_help.c:4536 msgid "object_name" msgstr "nom_objet" -#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 +#: sql_help.c:331 sql_help.c:1871 sql_help.c:4508 msgid "aggregate_name" msgstr "nom_agrégat" -#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 -#: sql_help.c:2141 sql_help.c:3365 +#: sql_help.c:333 sql_help.c:1873 sql_help.c:2163 sql_help.c:2167 +#: sql_help.c:2169 sql_help.c:3394 msgid "source_type" msgstr "type_source" -#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 -#: sql_help.c:2142 sql_help.c:3366 +#: sql_help.c:334 sql_help.c:1874 sql_help.c:2164 sql_help.c:2168 +#: sql_help.c:2170 sql_help.c:3395 msgid "target_type" msgstr "type_cible" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1865 sql_help.c:2137 -#: sql_help.c:2180 sql_help.c:2258 sql_help.c:2526 sql_help.c:2557 -#: sql_help.c:3125 sql_help.c:4366 sql_help.c:4473 sql_help.c:4590 -#: sql_help.c:4594 sql_help.c:4598 sql_help.c:4601 sql_help.c:4847 -#: sql_help.c:4851 sql_help.c:4855 sql_help.c:4858 sql_help.c:5093 -#: sql_help.c:5097 sql_help.c:5101 sql_help.c:5104 +#: sql_help.c:341 sql_help.c:794 sql_help.c:1889 sql_help.c:2165 +#: sql_help.c:2208 sql_help.c:2288 sql_help.c:2556 sql_help.c:2587 +#: sql_help.c:3154 sql_help.c:4407 sql_help.c:4514 sql_help.c:4631 +#: sql_help.c:4635 sql_help.c:4639 sql_help.c:4642 sql_help.c:4889 +#: sql_help.c:4893 sql_help.c:4897 sql_help.c:4900 sql_help.c:5134 +#: sql_help.c:5138 sql_help.c:5142 sql_help.c:5145 msgid "function_name" msgstr "nom_fonction" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 +#: sql_help.c:346 sql_help.c:787 sql_help.c:1896 sql_help.c:2580 msgid "operator_name" msgstr "nom_opérateur" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1873 -#: sql_help.c:2527 sql_help.c:3489 +#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1897 +#: sql_help.c:2557 sql_help.c:3518 msgid "left_type" msgstr "type_argument_gauche" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1874 -#: sql_help.c:2528 sql_help.c:3490 +#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1898 +#: sql_help.c:2558 sql_help.c:3519 msgid "right_type" msgstr "type_argument_droit" -#: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 -#: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1408 sql_help.c:1876 sql_help.c:1878 sql_help.c:2547 -#: sql_help.c:2568 sql_help.c:2958 sql_help.c:3499 sql_help.c:3508 +#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756 +#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811 +#: sql_help.c:1435 sql_help.c:1900 sql_help.c:1902 sql_help.c:2577 +#: sql_help.c:2598 sql_help.c:2984 sql_help.c:3528 sql_help.c:3537 msgid "index_method" msgstr "méthode_indexage" -#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 +#: sql_help.c:354 sql_help.c:1906 sql_help.c:4521 msgid "procedure_name" msgstr "nom_procédure" -#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 +#: sql_help.c:358 sql_help.c:1912 sql_help.c:3944 sql_help.c:4527 msgid "routine_name" msgstr "nom_routine" -#: sql_help.c:368 sql_help.c:1380 sql_help.c:1905 sql_help.c:2402 -#: sql_help.c:2608 sql_help.c:2913 sql_help.c:3092 sql_help.c:3670 -#: sql_help.c:3936 sql_help.c:4388 +#: sql_help.c:370 sql_help.c:1407 sql_help.c:1929 sql_help.c:2432 +#: sql_help.c:2638 sql_help.c:2939 sql_help.c:3121 sql_help.c:3699 +#: sql_help.c:3966 sql_help.c:4429 msgid "type_name" msgstr "nom_type" -#: sql_help.c:369 sql_help.c:1906 sql_help.c:2401 sql_help.c:2607 -#: sql_help.c:3093 sql_help.c:3323 sql_help.c:3671 sql_help.c:3921 -#: sql_help.c:4373 +#: sql_help.c:371 sql_help.c:1930 sql_help.c:2431 sql_help.c:2637 +#: sql_help.c:3122 sql_help.c:3352 sql_help.c:3700 sql_help.c:3951 +#: sql_help.c:4414 msgid "lang_name" msgstr "nom_langage" -#: sql_help.c:372 +#: sql_help.c:374 msgid "and aggregate_signature is:" msgstr "et signature_agrégat est :" -#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 +#: sql_help.c:397 sql_help.c:2030 sql_help.c:2313 msgid "handler_function" msgstr "fonction_gestionnaire" -#: sql_help.c:396 sql_help.c:2284 +#: sql_help.c:398 sql_help.c:2314 msgid "validator_function" msgstr "fonction_validateur" -#: sql_help.c:444 sql_help.c:523 sql_help.c:667 sql_help.c:853 sql_help.c:1003 -#: sql_help.c:1309 sql_help.c:1581 +#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011 +#: sql_help.c:1324 sql_help.c:1611 msgid "action" msgstr "action" -#: sql_help.c:446 sql_help.c:453 sql_help.c:457 sql_help.c:458 sql_help.c:461 -#: sql_help.c:463 sql_help.c:464 sql_help.c:465 sql_help.c:467 sql_help.c:470 -#: sql_help.c:472 sql_help.c:473 sql_help.c:671 sql_help.c:681 sql_help.c:683 -#: sql_help.c:686 sql_help.c:688 sql_help.c:689 sql_help.c:911 sql_help.c:1080 -#: sql_help.c:1311 sql_help.c:1329 sql_help.c:1333 sql_help.c:1334 -#: sql_help.c:1338 sql_help.c:1340 sql_help.c:1341 sql_help.c:1342 -#: sql_help.c:1343 sql_help.c:1345 sql_help.c:1348 sql_help.c:1349 -#: sql_help.c:1351 sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 -#: sql_help.c:1404 sql_help.c:1406 sql_help.c:1413 sql_help.c:1422 -#: sql_help.c:1427 sql_help.c:1431 sql_help.c:1432 sql_help.c:1683 -#: sql_help.c:1686 sql_help.c:1690 sql_help.c:1728 sql_help.c:1853 -#: sql_help.c:1967 sql_help.c:1973 sql_help.c:1987 sql_help.c:1988 -#: sql_help.c:1989 sql_help.c:2333 sql_help.c:2346 sql_help.c:2399 -#: sql_help.c:2467 sql_help.c:2473 sql_help.c:2506 sql_help.c:2637 -#: sql_help.c:2746 sql_help.c:2781 sql_help.c:2783 sql_help.c:2895 -#: sql_help.c:2904 sql_help.c:2914 sql_help.c:2917 sql_help.c:2927 -#: sql_help.c:2931 sql_help.c:2954 sql_help.c:2956 sql_help.c:2963 -#: sql_help.c:2976 sql_help.c:2981 sql_help.c:2985 sql_help.c:2986 -#: sql_help.c:3002 sql_help.c:3128 sql_help.c:3268 sql_help.c:3893 -#: sql_help.c:3894 sql_help.c:3990 sql_help.c:4005 sql_help.c:4007 -#: sql_help.c:4009 sql_help.c:4094 sql_help.c:4097 sql_help.c:4099 -#: sql_help.c:4345 sql_help.c:4346 sql_help.c:4466 sql_help.c:4627 -#: sql_help.c:4633 sql_help.c:4635 sql_help.c:4884 sql_help.c:4890 -#: sql_help.c:4892 sql_help.c:4933 sql_help.c:4935 sql_help.c:4937 -#: sql_help.c:4992 sql_help.c:5130 sql_help.c:5136 sql_help.c:5138 +#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 +#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 +#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 +#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088 +#: sql_help.c:1326 sql_help.c:1354 sql_help.c:1358 sql_help.c:1359 +#: sql_help.c:1363 sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1372 sql_help.c:1375 +#: sql_help.c:1376 sql_help.c:1378 sql_help.c:1381 sql_help.c:1383 +#: sql_help.c:1384 sql_help.c:1431 sql_help.c:1433 sql_help.c:1440 +#: sql_help.c:1449 sql_help.c:1454 sql_help.c:1461 sql_help.c:1462 +#: sql_help.c:1713 sql_help.c:1716 sql_help.c:1720 sql_help.c:1756 +#: sql_help.c:1877 sql_help.c:1993 sql_help.c:1999 sql_help.c:2013 +#: sql_help.c:2014 sql_help.c:2015 sql_help.c:2363 sql_help.c:2376 +#: sql_help.c:2429 sql_help.c:2497 sql_help.c:2503 sql_help.c:2536 +#: sql_help.c:2667 sql_help.c:2772 sql_help.c:2807 sql_help.c:2809 +#: sql_help.c:2921 sql_help.c:2930 sql_help.c:2940 sql_help.c:2943 +#: sql_help.c:2953 sql_help.c:2957 sql_help.c:2980 sql_help.c:2982 +#: sql_help.c:2989 sql_help.c:3002 sql_help.c:3007 sql_help.c:3014 +#: sql_help.c:3015 sql_help.c:3031 sql_help.c:3157 sql_help.c:3297 +#: sql_help.c:3923 sql_help.c:3924 sql_help.c:4020 sql_help.c:4035 +#: sql_help.c:4037 sql_help.c:4039 sql_help.c:4133 sql_help.c:4136 +#: sql_help.c:4138 sql_help.c:4140 sql_help.c:4386 sql_help.c:4387 +#: sql_help.c:4507 sql_help.c:4668 sql_help.c:4675 sql_help.c:4677 +#: sql_help.c:4926 sql_help.c:4933 sql_help.c:4935 sql_help.c:4976 +#: sql_help.c:4978 sql_help.c:4980 sql_help.c:5033 sql_help.c:5171 +#: sql_help.c:5178 sql_help.c:5180 msgid "column_name" msgstr "nom_colonne" -#: sql_help.c:447 sql_help.c:672 sql_help.c:1312 sql_help.c:1691 +#: sql_help.c:449 sql_help.c:674 sql_help.c:1327 sql_help.c:1721 msgid "new_column_name" msgstr "nouvelle_nom_colonne" -#: sql_help.c:452 sql_help.c:544 sql_help.c:680 sql_help.c:874 sql_help.c:1024 -#: sql_help.c:1328 sql_help.c:1591 +#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032 +#: sql_help.c:1353 sql_help.c:1621 msgid "where action is one of:" msgstr "où action fait partie de :" -#: sql_help.c:454 sql_help.c:459 sql_help.c:1072 sql_help.c:1330 -#: sql_help.c:1335 sql_help.c:1593 sql_help.c:1597 sql_help.c:2237 -#: sql_help.c:2334 sql_help.c:2546 sql_help.c:2739 sql_help.c:2896 -#: sql_help.c:3175 sql_help.c:4151 +#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1355 +#: sql_help.c:1360 sql_help.c:1623 sql_help.c:1627 sql_help.c:2267 +#: sql_help.c:2364 sql_help.c:2576 sql_help.c:2765 sql_help.c:2922 +#: sql_help.c:3204 sql_help.c:4192 msgid "data_type" msgstr "type_données" -#: sql_help.c:455 sql_help.c:460 sql_help.c:1331 sql_help.c:1336 -#: sql_help.c:1594 sql_help.c:1598 sql_help.c:2238 sql_help.c:2337 -#: sql_help.c:2469 sql_help.c:2898 sql_help.c:2906 sql_help.c:2919 -#: sql_help.c:2933 sql_help.c:3176 sql_help.c:3182 sql_help.c:4000 +#: sql_help.c:457 sql_help.c:462 sql_help.c:1356 sql_help.c:1361 +#: sql_help.c:1456 sql_help.c:1624 sql_help.c:1628 sql_help.c:2268 +#: sql_help.c:2367 sql_help.c:2499 sql_help.c:2924 sql_help.c:2932 +#: sql_help.c:2945 sql_help.c:2959 sql_help.c:3009 sql_help.c:3205 +#: sql_help.c:3211 sql_help.c:4030 msgid "collation" msgstr "collationnement" -#: sql_help.c:456 sql_help.c:1332 sql_help.c:2338 sql_help.c:2347 -#: sql_help.c:2899 sql_help.c:2915 sql_help.c:2928 +#: sql_help.c:458 sql_help.c:1357 sql_help.c:2368 sql_help.c:2377 +#: sql_help.c:2925 sql_help.c:2941 sql_help.c:2954 msgid "column_constraint" msgstr "contrainte_colonne" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 +#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1377 sql_help.c:5027 msgid "integer" msgstr "entier" -#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1352 -#: sql_help.c:1355 +#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1379 +#: sql_help.c:1382 msgid "attribute_option" msgstr "option_attribut" -#: sql_help.c:476 sql_help.c:1359 sql_help.c:2339 sql_help.c:2348 -#: sql_help.c:2900 sql_help.c:2916 sql_help.c:2929 +#: sql_help.c:478 sql_help.c:1386 sql_help.c:2369 sql_help.c:2378 +#: sql_help.c:2926 sql_help.c:2942 sql_help.c:2955 msgid "table_constraint" msgstr "contrainte_table" -#: sql_help.c:479 sql_help.c:480 sql_help.c:481 sql_help.c:482 sql_help.c:1364 -#: sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 sql_help.c:1907 +#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1391 +#: sql_help.c:1392 sql_help.c:1393 sql_help.c:1394 sql_help.c:1931 msgid "trigger_name" msgstr "nom_trigger" -#: sql_help.c:483 sql_help.c:484 sql_help.c:1378 sql_help.c:1379 -#: sql_help.c:2340 sql_help.c:2345 sql_help.c:2903 sql_help.c:2926 +#: sql_help.c:485 sql_help.c:486 sql_help.c:1405 sql_help.c:1406 +#: sql_help.c:2370 sql_help.c:2375 sql_help.c:2929 sql_help.c:2952 msgid "parent_table" msgstr "table_parent" -#: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1550 sql_help.c:2269 +#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031 +#: sql_help.c:1580 sql_help.c:2299 msgid "extension_name" msgstr "nom_extension" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 +#: sql_help.c:547 sql_help.c:1033 sql_help.c:2433 msgid "execution_cost" msgstr "coût_exécution" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 +#: sql_help.c:548 sql_help.c:1034 sql_help.c:2434 msgid "result_rows" msgstr "lignes_de_résultat" -#: sql_help.c:547 sql_help.c:2405 +#: sql_help.c:549 sql_help.c:2435 msgid "support_function" msgstr "fonction_support" -#: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 -#: sql_help.c:963 sql_help.c:966 sql_help.c:1633 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:2717 -#: sql_help.c:2719 sql_help.c:2722 sql_help.c:2723 sql_help.c:3891 -#: sql_help.c:3892 sql_help.c:3896 sql_help.c:3897 sql_help.c:3900 -#: sql_help.c:3901 sql_help.c:3903 sql_help.c:3904 sql_help.c:3906 -#: sql_help.c:3907 sql_help.c:3909 sql_help.c:3910 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3919 sql_help.c:3920 sql_help.c:3922 -#: sql_help.c:3923 sql_help.c:3925 sql_help.c:3926 sql_help.c:3928 -#: sql_help.c:3929 sql_help.c:3931 sql_help.c:3932 sql_help.c:3934 -#: sql_help.c:3935 sql_help.c:3937 sql_help.c:3938 sql_help.c:3940 -#: sql_help.c:3941 sql_help.c:4343 sql_help.c:4344 sql_help.c:4348 -#: sql_help.c:4349 sql_help.c:4352 sql_help.c:4353 sql_help.c:4355 -#: sql_help.c:4356 sql_help.c:4358 sql_help.c:4359 sql_help.c:4361 -#: sql_help.c:4362 sql_help.c:4364 sql_help.c:4365 sql_help.c:4371 -#: sql_help.c:4372 sql_help.c:4374 sql_help.c:4375 sql_help.c:4377 -#: sql_help.c:4378 sql_help.c:4380 sql_help.c:4381 sql_help.c:4383 -#: sql_help.c:4384 sql_help.c:4386 sql_help.c:4387 sql_help.c:4389 -#: sql_help.c:4390 sql_help.c:4392 sql_help.c:4393 +#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968 +#: sql_help.c:971 sql_help.c:974 sql_help.c:1663 sql_help.c:1671 +#: sql_help.c:1675 sql_help.c:1678 sql_help.c:1681 sql_help.c:2743 +#: sql_help.c:2745 sql_help.c:2748 sql_help.c:2749 sql_help.c:3921 +#: sql_help.c:3922 sql_help.c:3926 sql_help.c:3927 sql_help.c:3930 +#: sql_help.c:3931 sql_help.c:3933 sql_help.c:3934 sql_help.c:3936 +#: sql_help.c:3937 sql_help.c:3939 sql_help.c:3940 sql_help.c:3942 +#: sql_help.c:3943 sql_help.c:3949 sql_help.c:3950 sql_help.c:3952 +#: sql_help.c:3953 sql_help.c:3955 sql_help.c:3956 sql_help.c:3958 +#: sql_help.c:3959 sql_help.c:3961 sql_help.c:3962 sql_help.c:3964 +#: sql_help.c:3965 sql_help.c:3967 sql_help.c:3968 sql_help.c:3970 +#: sql_help.c:3971 sql_help.c:4384 sql_help.c:4385 sql_help.c:4389 +#: sql_help.c:4390 sql_help.c:4393 sql_help.c:4394 sql_help.c:4396 +#: sql_help.c:4397 sql_help.c:4399 sql_help.c:4400 sql_help.c:4402 +#: sql_help.c:4403 sql_help.c:4405 sql_help.c:4406 sql_help.c:4412 +#: sql_help.c:4413 sql_help.c:4415 sql_help.c:4416 sql_help.c:4418 +#: sql_help.c:4419 sql_help.c:4421 sql_help.c:4422 sql_help.c:4424 +#: sql_help.c:4425 sql_help.c:4427 sql_help.c:4428 sql_help.c:4430 +#: sql_help.c:4431 sql_help.c:4433 sql_help.c:4434 msgid "role_specification" msgstr "specification_role" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1664 sql_help.c:2205 -#: sql_help.c:2725 sql_help.c:3253 sql_help.c:3704 sql_help.c:4720 +#: sql_help.c:572 sql_help.c:574 sql_help.c:1694 sql_help.c:2234 +#: sql_help.c:2751 sql_help.c:3282 sql_help.c:3733 sql_help.c:4762 msgid "user_name" msgstr "nom_utilisateur" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 -#: sql_help.c:3942 sql_help.c:4394 +#: sql_help.c:575 sql_help.c:976 sql_help.c:1683 sql_help.c:2750 +#: sql_help.c:3972 sql_help.c:4435 msgid "where role_specification can be:" msgstr "où specification_role peut être :" -#: sql_help.c:575 +#: sql_help.c:577 msgid "group_name" msgstr "nom_groupe" -#: sql_help.c:596 sql_help.c:1425 sql_help.c:2216 sql_help.c:2476 -#: sql_help.c:2510 sql_help.c:2911 sql_help.c:2924 sql_help.c:2938 -#: sql_help.c:2979 sql_help.c:3006 sql_help.c:3018 sql_help.c:3933 -#: sql_help.c:4385 +#: sql_help.c:598 sql_help.c:1452 sql_help.c:2246 sql_help.c:2506 +#: sql_help.c:2540 sql_help.c:2937 sql_help.c:2950 sql_help.c:2964 +#: sql_help.c:3005 sql_help.c:3035 sql_help.c:3047 sql_help.c:3963 +#: sql_help.c:4426 msgid "tablespace_name" msgstr "nom_tablespace" -#: sql_help.c:598 sql_help.c:691 sql_help.c:1372 sql_help.c:1382 -#: sql_help.c:1420 sql_help.c:1782 sql_help.c:1785 +#: sql_help.c:600 sql_help.c:693 sql_help.c:1399 sql_help.c:1409 +#: sql_help.c:1447 sql_help.c:1809 msgid "index_name" msgstr "nom_index" -#: sql_help.c:602 sql_help.c:605 sql_help.c:694 sql_help.c:696 sql_help.c:1375 -#: sql_help.c:1377 sql_help.c:1423 sql_help.c:2474 sql_help.c:2508 -#: sql_help.c:2909 sql_help.c:2922 sql_help.c:2936 sql_help.c:2977 -#: sql_help.c:3004 +#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1402 +#: sql_help.c:1404 sql_help.c:1450 sql_help.c:2504 sql_help.c:2538 +#: sql_help.c:2935 sql_help.c:2948 sql_help.c:2962 sql_help.c:3003 +#: sql_help.c:3033 msgid "storage_parameter" msgstr "paramètre_stockage" -#: sql_help.c:607 +#: sql_help.c:609 msgid "column_number" msgstr "numéro_colonne" -#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 +#: sql_help.c:633 sql_help.c:1894 sql_help.c:4518 msgid "large_object_oid" msgstr "oid_large_object" -#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 +#: sql_help.c:692 sql_help.c:1385 sql_help.c:2923 msgid "compression_method" msgstr "méthode_compression" -#: sql_help.c:692 sql_help.c:1373 +#: sql_help.c:694 sql_help.c:1400 msgid "new_access_method" msgstr "new_access_method" -#: sql_help.c:725 sql_help.c:2531 +#: sql_help.c:731 sql_help.c:2561 msgid "res_proc" msgstr "res_proc" -#: sql_help.c:726 sql_help.c:2532 +#: sql_help.c:732 sql_help.c:2562 msgid "join_proc" msgstr "join_proc" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 +#: sql_help.c:733 sql_help.c:2559 +msgid "com_op" +msgstr "com_op" + +#: sql_help.c:734 sql_help.c:2560 +msgid "neg_op" +msgstr "neg_op" + +#: sql_help.c:786 sql_help.c:798 sql_help.c:2579 msgid "strategy_number" msgstr "numéro_de_stratégie" -#: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2551 sql_help.c:2552 -#: sql_help.c:2555 sql_help.c:2556 +#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799 +#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2581 sql_help.c:2582 +#: sql_help.c:2585 sql_help.c:2586 msgid "op_type" msgstr "type_op" -#: sql_help.c:782 sql_help.c:2553 +#: sql_help.c:790 sql_help.c:2583 msgid "sort_family_name" msgstr "nom_famille_tri" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 +#: sql_help.c:791 sql_help.c:801 sql_help.c:2584 msgid "support_number" msgstr "numéro_de_support" -#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 -#: sql_help.c:3097 +#: sql_help.c:795 sql_help.c:2166 sql_help.c:2588 sql_help.c:3124 +#: sql_help.c:3126 msgid "argument_type" msgstr "type_argument" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 sql_help.c:1079 -#: sql_help.c:1546 sql_help.c:1549 sql_help.c:1727 sql_help.c:1781 -#: sql_help.c:1784 sql_help.c:1855 sql_help.c:1880 sql_help.c:1893 -#: sql_help.c:1908 sql_help.c:1966 sql_help.c:1972 sql_help.c:2332 -#: sql_help.c:2344 sql_help.c:2465 sql_help.c:2505 sql_help.c:2582 -#: sql_help.c:2636 sql_help.c:2693 sql_help.c:2745 sql_help.c:2778 -#: sql_help.c:2785 sql_help.c:2894 sql_help.c:2912 sql_help.c:2925 -#: sql_help.c:3001 sql_help.c:3121 sql_help.c:3302 sql_help.c:3525 -#: sql_help.c:3574 sql_help.c:3680 sql_help.c:3889 sql_help.c:3895 -#: sql_help.c:3956 sql_help.c:3988 sql_help.c:4341 sql_help.c:4347 -#: sql_help.c:4465 sql_help.c:4576 sql_help.c:4578 sql_help.c:4640 -#: sql_help.c:4679 sql_help.c:4833 sql_help.c:4835 sql_help.c:4897 -#: sql_help.c:4931 sql_help.c:4991 sql_help.c:5079 sql_help.c:5081 -#: sql_help.c:5143 +#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087 +#: sql_help.c:1576 sql_help.c:1579 sql_help.c:1755 sql_help.c:1808 +#: sql_help.c:1879 sql_help.c:1904 sql_help.c:1917 sql_help.c:1932 +#: sql_help.c:1992 sql_help.c:1998 sql_help.c:2362 sql_help.c:2374 +#: sql_help.c:2495 sql_help.c:2535 sql_help.c:2612 sql_help.c:2666 +#: sql_help.c:2719 sql_help.c:2771 sql_help.c:2804 sql_help.c:2811 +#: sql_help.c:2920 sql_help.c:2938 sql_help.c:2951 sql_help.c:3030 +#: sql_help.c:3150 sql_help.c:3331 sql_help.c:3554 sql_help.c:3603 +#: sql_help.c:3709 sql_help.c:3919 sql_help.c:3925 sql_help.c:3986 +#: sql_help.c:4018 sql_help.c:4382 sql_help.c:4388 sql_help.c:4506 +#: sql_help.c:4619 sql_help.c:4682 sql_help.c:4721 sql_help.c:4877 +#: sql_help.c:4940 sql_help.c:4974 sql_help.c:5032 sql_help.c:5122 +#: sql_help.c:5185 msgid "table_name" msgstr "nom_table" -#: sql_help.c:823 sql_help.c:2584 +#: sql_help.c:831 sql_help.c:2614 msgid "using_expression" msgstr "expression_using" -#: sql_help.c:824 sql_help.c:2585 +#: sql_help.c:832 sql_help.c:2615 msgid "check_expression" msgstr "expression_check" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 +#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2662 msgid "publication_object" msgstr "objet_publication" -#: sql_help.c:903 sql_help.c:2633 +#: sql_help.c:911 sql_help.c:2663 msgid "publication_parameter" msgstr "paramètre_publication" -#: sql_help.c:909 sql_help.c:2635 +#: sql_help.c:917 sql_help.c:2665 msgid "where publication_object is one of:" msgstr "où publication_object fait partie de :" -#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 -#: sql_help.c:3236 +#: sql_help.c:960 sql_help.c:1667 sql_help.c:2473 sql_help.c:2698 +#: sql_help.c:3265 msgid "password" msgstr "mot_de_passe" -#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 -#: sql_help.c:3237 +#: sql_help.c:961 sql_help.c:1668 sql_help.c:2474 sql_help.c:2699 +#: sql_help.c:3266 msgid "timestamp" msgstr "horodatage" -#: sql_help.c:957 sql_help.c:961 sql_help.c:964 sql_help.c:967 sql_help.c:1642 -#: sql_help.c:1646 sql_help.c:1649 sql_help.c:1652 sql_help.c:3902 -#: sql_help.c:4354 +#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1672 +#: sql_help.c:1676 sql_help.c:1679 sql_help.c:1682 sql_help.c:3932 +#: sql_help.c:4395 msgid "database_name" msgstr "nom_base_de_donnée" -#: sql_help.c:1073 sql_help.c:2740 +#: sql_help.c:1081 sql_help.c:2766 msgid "increment" msgstr "incrément" -#: sql_help.c:1074 sql_help.c:2741 +#: sql_help.c:1082 sql_help.c:2767 msgid "minvalue" msgstr "valeur_min" -#: sql_help.c:1075 sql_help.c:2742 +#: sql_help.c:1083 sql_help.c:2768 msgid "maxvalue" msgstr "valeur_max" -#: sql_help.c:1076 sql_help.c:2743 sql_help.c:4574 sql_help.c:4677 -#: sql_help.c:4831 sql_help.c:5008 sql_help.c:5077 +#: sql_help.c:1084 sql_help.c:2769 sql_help.c:4615 sql_help.c:4719 +#: sql_help.c:4873 sql_help.c:5049 sql_help.c:5118 msgid "start" msgstr "début" -#: sql_help.c:1077 sql_help.c:1347 +#: sql_help.c:1085 sql_help.c:1374 msgid "restart" msgstr "nouveau_début" -#: sql_help.c:1078 sql_help.c:2744 +#: sql_help.c:1086 sql_help.c:2770 msgid "cache" msgstr "cache" -#: sql_help.c:1123 +#: sql_help.c:1131 msgid "new_target" msgstr "nouvelle_cible" -#: sql_help.c:1142 sql_help.c:2797 +#: sql_help.c:1150 sql_help.c:2823 msgid "conninfo" msgstr "conninfo" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 +#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2824 msgid "publication_name" msgstr "nom_publication" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161 msgid "publication_option" msgstr "option_publication" -#: sql_help.c:1156 +#: sql_help.c:1164 msgid "refresh_option" msgstr "option_rafraichissement" -#: sql_help.c:1161 sql_help.c:2799 +#: sql_help.c:1169 sql_help.c:2825 msgid "subscription_parameter" msgstr "paramètre_souscription" -#: sql_help.c:1164 +#: sql_help.c:1172 msgid "skip_option" msgstr "option_skip" -#: sql_help.c:1324 sql_help.c:1327 +#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1344 sql_help.c:1352 msgid "partition_name" msgstr "nom_partition" -#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 +#: sql_help.c:1340 sql_help.c:1346 sql_help.c:1348 sql_help.c:2379 +#: sql_help.c:2956 msgid "partition_bound_spec" msgstr "spec_limite_partition" -#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 +#: sql_help.c:1345 sql_help.c:1350 +msgid "partition_name1" +msgstr "nom_partition1" + +#: sql_help.c:1347 sql_help.c:1351 +msgid "partition_name2" +msgstr "nom_partition2" + +#: sql_help.c:1371 sql_help.c:1421 sql_help.c:2970 msgid "sequence_options" msgstr "options_séquence" -#: sql_help.c:1346 +#: sql_help.c:1373 msgid "sequence_option" msgstr "option_séquence" -#: sql_help.c:1360 +#: sql_help.c:1387 msgid "table_constraint_using_index" msgstr "contrainte_table_utilisant_index" -#: sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 +#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1397 sql_help.c:1398 msgid "rewrite_rule_name" msgstr "nom_règle_réécriture" -#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 +#: sql_help.c:1410 sql_help.c:2391 sql_help.c:2995 msgid "and partition_bound_spec is:" msgstr "et partition_bound_spec est :" -#: sql_help.c:1384 sql_help.c:1385 sql_help.c:1386 sql_help.c:2362 -#: sql_help.c:2363 sql_help.c:2364 sql_help.c:2970 sql_help.c:2971 -#: sql_help.c:2972 +#: sql_help.c:1411 sql_help.c:1412 sql_help.c:1413 sql_help.c:2392 +#: sql_help.c:2393 sql_help.c:2394 sql_help.c:2996 sql_help.c:2997 +#: sql_help.c:2998 msgid "partition_bound_expr" msgstr "expr_limite_partition" -#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 -#: sql_help.c:2973 sql_help.c:2974 +#: sql_help.c:1414 sql_help.c:1415 sql_help.c:2395 sql_help.c:2396 +#: sql_help.c:2999 sql_help.c:3000 msgid "numeric_literal" msgstr "numeric_literal" -#: sql_help.c:1389 +#: sql_help.c:1416 msgid "and column_constraint is:" msgstr "et contrainte_colonne est :" -#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 -#: sql_help.c:2942 +#: sql_help.c:1419 sql_help.c:2386 sql_help.c:2427 sql_help.c:2636 +#: sql_help.c:2968 msgid "default_expr" msgstr "expression_par_défaut" -#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 +#: sql_help.c:1420 sql_help.c:2387 sql_help.c:2969 msgid "generation_expr" msgstr "expression_génération" -#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1405 sql_help.c:1407 -#: sql_help.c:1411 sql_help.c:2945 sql_help.c:2946 sql_help.c:2955 -#: sql_help.c:2957 sql_help.c:2961 +#: sql_help.c:1422 sql_help.c:1423 sql_help.c:1432 sql_help.c:1434 +#: sql_help.c:1438 sql_help.c:2971 sql_help.c:2972 sql_help.c:2981 +#: sql_help.c:2983 sql_help.c:2987 msgid "index_parameters" msgstr "paramètres_index" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 +#: sql_help.c:1424 sql_help.c:1441 sql_help.c:2973 sql_help.c:2990 msgid "reftable" msgstr "table_référence" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 +#: sql_help.c:1425 sql_help.c:1442 sql_help.c:2974 sql_help.c:2991 msgid "refcolumn" msgstr "colonne_référence" -#: sql_help.c:1399 sql_help.c:1400 sql_help.c:1416 sql_help.c:1417 -#: sql_help.c:2949 sql_help.c:2950 sql_help.c:2966 sql_help.c:2967 +#: sql_help.c:1426 sql_help.c:1427 sql_help.c:1443 sql_help.c:1444 +#: sql_help.c:2975 sql_help.c:2976 sql_help.c:2992 sql_help.c:2993 msgid "referential_action" msgstr "action" -#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 +#: sql_help.c:1428 sql_help.c:2388 sql_help.c:2977 msgid "and table_constraint is:" msgstr "et contrainte_table est :" -#: sql_help.c:1409 sql_help.c:2959 +#: sql_help.c:1436 sql_help.c:2985 msgid "exclude_element" msgstr "élément_exclusion" -#: sql_help.c:1410 sql_help.c:2960 sql_help.c:4572 sql_help.c:4675 -#: sql_help.c:4829 sql_help.c:5006 sql_help.c:5075 +#: sql_help.c:1437 sql_help.c:2986 sql_help.c:4613 sql_help.c:4717 +#: sql_help.c:4871 sql_help.c:5047 sql_help.c:5116 msgid "operator" msgstr "opérateur" -#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 +#: sql_help.c:1439 sql_help.c:2507 sql_help.c:2988 msgid "predicate" msgstr "prédicat" -#: sql_help.c:1418 +#: sql_help.c:1445 msgid "and table_constraint_using_index is:" msgstr "et contrainte_table_utilisant_index est :" -#: sql_help.c:1421 sql_help.c:2975 +#: sql_help.c:1448 sql_help.c:3001 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "dans les contraintes UNIQUE, PRIMARY KEY et EXCLUDE, les paramètres_index sont :" -#: sql_help.c:1426 sql_help.c:2980 +#: sql_help.c:1453 sql_help.c:3006 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "élément_exclusion dans une contrainte EXCLUDE est :" -#: sql_help.c:1429 sql_help.c:2470 sql_help.c:2907 sql_help.c:2920 -#: sql_help.c:2934 sql_help.c:2983 sql_help.c:4001 +#: sql_help.c:1457 sql_help.c:2500 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:2960 sql_help.c:3010 sql_help.c:4031 msgid "opclass" msgstr "classe_d_opérateur" -#: sql_help.c:1430 sql_help.c:2984 +#: sql_help.c:1458 sql_help.c:2501 sql_help.c:3011 +msgid "opclass_parameter" +msgstr "paramètre_opclass" + +#: sql_help.c:1460 sql_help.c:3013 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "referential_action dans une contrainte FOREIGN KEY/REFERENCES est :" -#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3021 +#: sql_help.c:1478 sql_help.c:1481 sql_help.c:3050 msgid "tablespace_option" msgstr "option_tablespace" -#: sql_help.c:1472 sql_help.c:1475 sql_help.c:1481 sql_help.c:1485 +#: sql_help.c:1502 sql_help.c:1505 sql_help.c:1511 sql_help.c:1515 msgid "token_type" msgstr "type_jeton" -#: sql_help.c:1473 sql_help.c:1476 +#: sql_help.c:1503 sql_help.c:1506 msgid "dictionary_name" msgstr "nom_dictionnaire" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1508 sql_help.c:1512 msgid "old_dictionary" msgstr "ancien_dictionnaire" -#: sql_help.c:1479 sql_help.c:1483 +#: sql_help.c:1509 sql_help.c:1513 msgid "new_dictionary" msgstr "nouveau_dictionnaire" -#: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 -#: sql_help.c:3174 +#: sql_help.c:1608 sql_help.c:1622 sql_help.c:1625 sql_help.c:1626 +#: sql_help.c:3203 msgid "attribute_name" msgstr "nom_attribut" -#: sql_help.c:1579 +#: sql_help.c:1609 msgid "new_attribute_name" msgstr "nouveau_nom_attribut" -#: sql_help.c:1583 sql_help.c:1587 +#: sql_help.c:1613 sql_help.c:1617 msgid "new_enum_value" msgstr "nouvelle_valeur_enum" -#: sql_help.c:1584 +#: sql_help.c:1614 msgid "neighbor_enum_value" msgstr "valeur_enum_voisine" -#: sql_help.c:1586 +#: sql_help.c:1616 msgid "existing_enum_value" msgstr "valeur_enum_existante" -#: sql_help.c:1589 +#: sql_help.c:1619 msgid "property" msgstr "propriété" -#: sql_help.c:1665 sql_help.c:2341 sql_help.c:2350 sql_help.c:2756 -#: sql_help.c:3254 sql_help.c:3705 sql_help.c:3911 sql_help.c:3957 -#: sql_help.c:4363 +#: sql_help.c:1695 sql_help.c:2371 sql_help.c:2380 sql_help.c:2782 +#: sql_help.c:3283 sql_help.c:3734 sql_help.c:3941 sql_help.c:3987 +#: sql_help.c:4404 msgid "server_name" msgstr "nom_serveur" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 +#: sql_help.c:1727 sql_help.c:1730 sql_help.c:3298 msgid "view_option_name" msgstr "nom_option_vue" -#: sql_help.c:1698 sql_help.c:3270 +#: sql_help.c:1728 sql_help.c:3299 msgid "view_option_value" msgstr "valeur_option_vue" -#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 +#: sql_help.c:1749 sql_help.c:5016 msgid "table_and_columns" msgstr "table_et_colonnes" -#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 -#: sql_help.c:4198 sql_help.c:4976 +#: sql_help.c:1750 sql_help.c:1810 sql_help.c:2004 sql_help.c:3783 +#: sql_help.c:4239 sql_help.c:5017 msgid "where option can be one of:" msgstr "où option fait partie de :" -#: sql_help.c:1723 sql_help.c:1724 sql_help.c:1787 sql_help.c:1980 -#: sql_help.c:1984 sql_help.c:2164 sql_help.c:3755 sql_help.c:3756 -#: sql_help.c:3757 sql_help.c:3758 sql_help.c:3759 sql_help.c:3760 -#: sql_help.c:3761 sql_help.c:3762 sql_help.c:3763 sql_help.c:4199 -#: sql_help.c:4201 sql_help.c:4977 sql_help.c:4978 sql_help.c:4979 -#: sql_help.c:4980 sql_help.c:4981 sql_help.c:4982 sql_help.c:4983 -#: sql_help.c:4984 sql_help.c:4985 sql_help.c:4987 sql_help.c:4988 +#: sql_help.c:1751 sql_help.c:1752 sql_help.c:1811 sql_help.c:2006 +#: sql_help.c:2010 sql_help.c:2192 sql_help.c:3784 sql_help.c:3785 +#: sql_help.c:3786 sql_help.c:3787 sql_help.c:3788 sql_help.c:3789 +#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 +#: sql_help.c:4240 sql_help.c:4242 sql_help.c:5018 sql_help.c:5019 +#: sql_help.c:5020 sql_help.c:5021 sql_help.c:5022 sql_help.c:5023 +#: sql_help.c:5024 sql_help.c:5025 sql_help.c:5026 sql_help.c:5028 +#: sql_help.c:5029 msgid "boolean" msgstr "boolean" -#: sql_help.c:1725 sql_help.c:4989 +#: sql_help.c:1753 sql_help.c:5030 msgid "size" msgstr "taille" -#: sql_help.c:1726 sql_help.c:4990 +#: sql_help.c:1754 sql_help.c:5031 msgid "and table_and_columns is:" msgstr "et table_et_colonnes est :" -#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 +#: sql_help.c:1770 sql_help.c:4778 sql_help.c:4780 sql_help.c:4804 msgid "transaction_mode" msgstr "mode_transaction" -#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 +#: sql_help.c:1771 sql_help.c:4781 sql_help.c:4805 msgid "where transaction_mode is one of:" msgstr "où mode_transaction fait partie de :" -#: sql_help.c:1752 sql_help.c:4582 sql_help.c:4591 sql_help.c:4595 -#: sql_help.c:4599 sql_help.c:4602 sql_help.c:4839 sql_help.c:4848 -#: sql_help.c:4852 sql_help.c:4856 sql_help.c:4859 sql_help.c:5085 -#: sql_help.c:5094 sql_help.c:5098 sql_help.c:5102 sql_help.c:5105 +#: sql_help.c:1780 sql_help.c:4623 sql_help.c:4632 sql_help.c:4636 +#: sql_help.c:4640 sql_help.c:4643 sql_help.c:4881 sql_help.c:4890 +#: sql_help.c:4894 sql_help.c:4898 sql_help.c:4901 sql_help.c:5126 +#: sql_help.c:5135 sql_help.c:5139 sql_help.c:5143 sql_help.c:5146 msgid "argument" msgstr "argument" -#: sql_help.c:1852 +#: sql_help.c:1876 msgid "relation_name" msgstr "nom_relation" -#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 +#: sql_help.c:1881 sql_help.c:3935 sql_help.c:4398 msgid "domain_name" msgstr "nom_domaine" -#: sql_help.c:1879 +#: sql_help.c:1903 msgid "policy_name" msgstr "nom_politique" -#: sql_help.c:1892 +#: sql_help.c:1916 msgid "rule_name" msgstr "nom_règle" -#: sql_help.c:1911 sql_help.c:4496 +#: sql_help.c:1935 sql_help.c:4537 msgid "string_literal" msgstr "littéral_chaîne" -#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 +#: sql_help.c:1960 sql_help.c:4201 sql_help.c:4451 msgid "transaction_id" msgstr "id_transaction" -#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 +#: sql_help.c:1994 sql_help.c:2001 sql_help.c:4057 msgid "filename" msgstr "nom_fichier" -#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 -#: sql_help.c:2697 +#: sql_help.c:1995 sql_help.c:2002 sql_help.c:2721 sql_help.c:2722 +#: sql_help.c:2723 msgid "command" msgstr "commande" -#: sql_help.c:1971 sql_help.c:2694 sql_help.c:3124 sql_help.c:3305 -#: sql_help.c:4011 sql_help.c:4088 sql_help.c:4091 sql_help.c:4565 -#: sql_help.c:4567 sql_help.c:4668 sql_help.c:4670 sql_help.c:4822 -#: sql_help.c:4824 sql_help.c:4940 sql_help.c:5068 sql_help.c:5070 +#: sql_help.c:1997 sql_help.c:2720 sql_help.c:3153 sql_help.c:3334 +#: sql_help.c:4041 sql_help.c:4124 sql_help.c:4127 sql_help.c:4130 +#: sql_help.c:4606 sql_help.c:4608 sql_help.c:4710 sql_help.c:4712 +#: sql_help.c:4864 sql_help.c:4866 sql_help.c:4983 sql_help.c:5109 +#: sql_help.c:5111 msgid "condition" msgstr "condition" -#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 -#: sql_help.c:3289 sql_help.c:3992 +#: sql_help.c:2000 sql_help.c:2541 sql_help.c:3036 sql_help.c:3300 +#: sql_help.c:3318 sql_help.c:4022 msgid "query" msgstr "requête" -#: sql_help.c:1979 +#: sql_help.c:2005 msgid "format_name" msgstr "nom_format" -#: sql_help.c:1981 +#: sql_help.c:2007 msgid "delimiter_character" msgstr "caractère_délimiteur" -#: sql_help.c:1982 +#: sql_help.c:2008 msgid "null_string" msgstr "chaîne_null" -#: sql_help.c:1983 +#: sql_help.c:2009 msgid "default_string" msgstr "chaîne_par_défaut" -#: sql_help.c:1985 +#: sql_help.c:2011 msgid "quote_character" msgstr "caractère_guillemet" -#: sql_help.c:1986 +#: sql_help.c:2012 msgid "escape_character" msgstr "chaîne_d_échappement" -#: sql_help.c:1990 +#: sql_help.c:2016 +msgid "error_action" +msgstr "action_erreur" + +#: sql_help.c:2017 msgid "encoding_name" msgstr "nom_encodage" -#: sql_help.c:2001 +#: sql_help.c:2018 +msgid "verbosity" +msgstr "verbosité" + +#: sql_help.c:2029 msgid "access_method_type" msgstr "access_method_type" -#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 +#: sql_help.c:2100 sql_help.c:2119 sql_help.c:2122 msgid "arg_data_type" msgstr "type_données_arg" -#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 +#: sql_help.c:2101 sql_help.c:2123 sql_help.c:2131 msgid "sfunc" msgstr "sfunc" -#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 +#: sql_help.c:2102 sql_help.c:2124 sql_help.c:2132 msgid "state_data_type" msgstr "type_de_données_statut" -#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 +#: sql_help.c:2103 sql_help.c:2125 sql_help.c:2133 msgid "state_data_size" msgstr "taille_de_données_statut" -#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 +#: sql_help.c:2104 sql_help.c:2126 sql_help.c:2134 msgid "ffunc" msgstr "ffunc" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2105 sql_help.c:2135 msgid "combinefunc" msgstr "combinefunc" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2106 sql_help.c:2136 msgid "serialfunc" msgstr "serialfunc" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2107 sql_help.c:2137 msgid "deserialfunc" msgstr "deserialfunc" -#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 +#: sql_help.c:2108 sql_help.c:2127 sql_help.c:2138 msgid "initial_condition" msgstr "condition_initiale" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2109 sql_help.c:2139 msgid "msfunc" msgstr "msfunc" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2110 sql_help.c:2140 msgid "minvfunc" msgstr "minvfunc" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2111 sql_help.c:2141 msgid "mstate_data_type" msgstr "m_type_de_données_statut" -#: sql_help.c:2084 sql_help.c:2114 +#: sql_help.c:2112 sql_help.c:2142 msgid "mstate_data_size" msgstr "m_taille_de_données_statut" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2113 sql_help.c:2143 msgid "mffunc" msgstr "mffunc" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2114 sql_help.c:2144 msgid "minitial_condition" msgstr "m_condition_initiale" -#: sql_help.c:2087 sql_help.c:2117 +#: sql_help.c:2115 sql_help.c:2145 msgid "sort_operator" msgstr "opérateur_de_tri" -#: sql_help.c:2100 +#: sql_help.c:2128 msgid "or the old syntax" msgstr "ou l'ancienne syntaxe" -#: sql_help.c:2102 +#: sql_help.c:2130 msgid "base_type" msgstr "type_base" -#: sql_help.c:2160 sql_help.c:2209 +#: sql_help.c:2188 sql_help.c:2238 msgid "locale" msgstr "locale" -#: sql_help.c:2161 sql_help.c:2210 +#: sql_help.c:2189 sql_help.c:2239 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2162 sql_help.c:2211 +#: sql_help.c:2190 sql_help.c:2240 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2163 sql_help.c:4463 +#: sql_help.c:2191 sql_help.c:4504 msgid "provider" msgstr "fournisseur" -#: sql_help.c:2165 +#: sql_help.c:2193 msgid "rules" msgstr "règles" -#: sql_help.c:2166 sql_help.c:2271 +#: sql_help.c:2194 sql_help.c:2301 msgid "version" msgstr "version" -#: sql_help.c:2168 +#: sql_help.c:2196 msgid "existing_collation" msgstr "collationnement_existant" -#: sql_help.c:2178 +#: sql_help.c:2206 msgid "source_encoding" msgstr "encodage_source" -#: sql_help.c:2179 +#: sql_help.c:2207 msgid "dest_encoding" msgstr "encodage_destination" -#: sql_help.c:2206 sql_help.c:3047 +#: sql_help.c:2235 sql_help.c:3076 msgid "template" msgstr "modèle" -#: sql_help.c:2207 +#: sql_help.c:2236 msgid "encoding" msgstr "encodage" -#: sql_help.c:2208 +#: sql_help.c:2237 msgid "strategy" msgstr "stratégie" -#: sql_help.c:2212 +#: sql_help.c:2241 +msgid "builtin_locale" +msgstr "builtin_locale" + +#: sql_help.c:2242 msgid "icu_locale" msgstr "icu_locale" -#: sql_help.c:2213 +#: sql_help.c:2243 msgid "icu_rules" msgstr "règles_icu" -#: sql_help.c:2214 +#: sql_help.c:2244 msgid "locale_provider" msgstr "locale_provider" -#: sql_help.c:2215 +#: sql_help.c:2245 msgid "collation_version" msgstr "collation_version" -#: sql_help.c:2220 +#: sql_help.c:2250 msgid "oid" msgstr "oid" -#: sql_help.c:2240 -msgid "constraint" -msgstr "contrainte" - -#: sql_help.c:2241 -msgid "where constraint is:" -msgstr "où la contrainte est :" +#: sql_help.c:2271 +msgid "where domain_constraint is:" +msgstr "où contrainte_domaine est :" -#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 +#: sql_help.c:2285 sql_help.c:2718 sql_help.c:3149 msgid "event" msgstr "événement" -#: sql_help.c:2256 +#: sql_help.c:2286 msgid "filter_variable" msgstr "filter_variable" -#: sql_help.c:2257 +#: sql_help.c:2287 msgid "filter_value" msgstr "filtre_valeur" -#: sql_help.c:2353 sql_help.c:2939 +#: sql_help.c:2383 sql_help.c:2965 msgid "where column_constraint is:" msgstr "où contrainte_colonne est :" -#: sql_help.c:2398 +#: sql_help.c:2428 msgid "rettype" msgstr "type_en_retour" -#: sql_help.c:2400 +#: sql_help.c:2430 msgid "column_type" msgstr "type_colonne" -#: sql_help.c:2409 sql_help.c:2612 +#: sql_help.c:2439 sql_help.c:2642 msgid "definition" msgstr "définition" -#: sql_help.c:2410 sql_help.c:2613 +#: sql_help.c:2440 sql_help.c:2643 msgid "obj_file" msgstr "fichier_objet" -#: sql_help.c:2411 sql_help.c:2614 +#: sql_help.c:2441 sql_help.c:2644 msgid "link_symbol" msgstr "symbole_link" -#: sql_help.c:2412 sql_help.c:2615 +#: sql_help.c:2442 sql_help.c:2645 msgid "sql_body" msgstr "corps_sql" -#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 +#: sql_help.c:2480 sql_help.c:2703 sql_help.c:3272 msgid "uid" msgstr "uid" -#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 -#: sql_help.c:2935 sql_help.c:3003 +#: sql_help.c:2496 sql_help.c:2537 sql_help.c:2934 sql_help.c:2947 +#: sql_help.c:2961 sql_help.c:3032 msgid "method" msgstr "méthode" -#: sql_help.c:2471 -msgid "opclass_parameter" -msgstr "paramètre_opclass" - -#: sql_help.c:2488 +#: sql_help.c:2518 msgid "call_handler" msgstr "gestionnaire_d_appel" -#: sql_help.c:2489 +#: sql_help.c:2519 msgid "inline_handler" msgstr "gestionnaire_en_ligne" -#: sql_help.c:2490 +#: sql_help.c:2520 msgid "valfunction" msgstr "fonction_val" -#: sql_help.c:2529 -msgid "com_op" -msgstr "com_op" - -#: sql_help.c:2530 -msgid "neg_op" -msgstr "neg_op" - -#: sql_help.c:2548 +#: sql_help.c:2578 msgid "family_name" msgstr "nom_famille" -#: sql_help.c:2559 +#: sql_help.c:2589 msgid "storage_type" msgstr "type_stockage" -#: sql_help.c:2698 sql_help.c:3127 +#: sql_help.c:2724 sql_help.c:3156 msgid "where event can be one of:" msgstr "où événement fait partie de :" -#: sql_help.c:2718 sql_help.c:2720 +#: sql_help.c:2744 sql_help.c:2746 msgid "schema_element" msgstr "élément_schéma" -#: sql_help.c:2757 +#: sql_help.c:2783 msgid "server_type" msgstr "type_serveur" -#: sql_help.c:2758 +#: sql_help.c:2784 msgid "server_version" msgstr "version_serveur" -#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 +#: sql_help.c:2785 sql_help.c:3938 sql_help.c:4401 msgid "fdw_name" msgstr "nom_fdw" -#: sql_help.c:2776 sql_help.c:2779 +#: sql_help.c:2802 sql_help.c:2805 msgid "statistics_name" msgstr "nom_statistique" -#: sql_help.c:2780 +#: sql_help.c:2806 msgid "statistics_kind" msgstr "statistics_kind" -#: sql_help.c:2796 +#: sql_help.c:2822 msgid "subscription_name" msgstr "nom_souscription" -#: sql_help.c:2901 +#: sql_help.c:2927 msgid "source_table" msgstr "table_source" -#: sql_help.c:2902 +#: sql_help.c:2928 msgid "like_option" msgstr "option_like" -#: sql_help.c:2968 +#: sql_help.c:2994 msgid "and like_option is:" msgstr "et option_like est :" -#: sql_help.c:3020 +#: sql_help.c:3049 msgid "directory" msgstr "répertoire" -#: sql_help.c:3034 +#: sql_help.c:3063 msgid "parser_name" msgstr "nom_analyseur" -#: sql_help.c:3035 +#: sql_help.c:3064 msgid "source_config" msgstr "configuration_source" -#: sql_help.c:3064 +#: sql_help.c:3093 msgid "start_function" msgstr "fonction_start" -#: sql_help.c:3065 +#: sql_help.c:3094 msgid "gettoken_function" msgstr "fonction_gettoken" -#: sql_help.c:3066 +#: sql_help.c:3095 msgid "end_function" msgstr "fonction_end" -#: sql_help.c:3067 +#: sql_help.c:3096 msgid "lextypes_function" msgstr "fonction_lextypes" -#: sql_help.c:3068 +#: sql_help.c:3097 msgid "headline_function" msgstr "fonction_headline" -#: sql_help.c:3080 +#: sql_help.c:3109 msgid "init_function" msgstr "fonction_init" -#: sql_help.c:3081 +#: sql_help.c:3110 msgid "lexize_function" msgstr "fonction_lexize" -#: sql_help.c:3094 +#: sql_help.c:3123 msgid "from_sql_function_name" msgstr "nom_fonction_from_sql" -#: sql_help.c:3096 +#: sql_help.c:3125 msgid "to_sql_function_name" msgstr "nom_fonction_to_sql" -#: sql_help.c:3122 +#: sql_help.c:3151 msgid "referenced_table_name" msgstr "nom_table_référencée" -#: sql_help.c:3123 +#: sql_help.c:3152 msgid "transition_relation_name" msgstr "nom_relation_transition" -#: sql_help.c:3126 +#: sql_help.c:3155 msgid "arguments" msgstr "arguments" -#: sql_help.c:3178 +#: sql_help.c:3207 msgid "label" msgstr "label" -#: sql_help.c:3180 +#: sql_help.c:3209 msgid "subtype" msgstr "sous_type" -#: sql_help.c:3181 +#: sql_help.c:3210 msgid "subtype_operator_class" msgstr "classe_opérateur_sous_type" -#: sql_help.c:3183 +#: sql_help.c:3212 msgid "canonical_function" msgstr "fonction_canonique" -#: sql_help.c:3184 +#: sql_help.c:3213 msgid "subtype_diff_function" msgstr "fonction_diff_sous_type" -#: sql_help.c:3185 +#: sql_help.c:3214 msgid "multirange_type_name" msgstr "nom_type_multirange" -#: sql_help.c:3187 +#: sql_help.c:3216 msgid "input_function" msgstr "fonction_en_sortie" -#: sql_help.c:3188 +#: sql_help.c:3217 msgid "output_function" msgstr "fonction_en_sortie" -#: sql_help.c:3189 +#: sql_help.c:3218 msgid "receive_function" msgstr "fonction_receive" -#: sql_help.c:3190 +#: sql_help.c:3219 msgid "send_function" msgstr "fonction_send" -#: sql_help.c:3191 +#: sql_help.c:3220 msgid "type_modifier_input_function" msgstr "fonction_en_entrée_modificateur_type" -#: sql_help.c:3192 +#: sql_help.c:3221 msgid "type_modifier_output_function" msgstr "fonction_en_sortie_modificateur_type" -#: sql_help.c:3193 +#: sql_help.c:3222 msgid "analyze_function" msgstr "fonction_analyze" -#: sql_help.c:3194 +#: sql_help.c:3223 msgid "subscript_function" msgstr "fonction_indice" -#: sql_help.c:3195 +#: sql_help.c:3224 msgid "internallength" msgstr "longueur_interne" -#: sql_help.c:3196 +#: sql_help.c:3225 msgid "alignment" msgstr "alignement" -#: sql_help.c:3197 +#: sql_help.c:3226 msgid "storage" msgstr "stockage" -#: sql_help.c:3198 +#: sql_help.c:3227 msgid "like_type" msgstr "type_like" -#: sql_help.c:3199 +#: sql_help.c:3228 msgid "category" msgstr "catégorie" -#: sql_help.c:3200 +#: sql_help.c:3229 msgid "preferred" msgstr "préféré" -#: sql_help.c:3201 +#: sql_help.c:3230 msgid "default" msgstr "par défaut" -#: sql_help.c:3202 +#: sql_help.c:3231 msgid "element" msgstr "élément" -#: sql_help.c:3203 +#: sql_help.c:3232 msgid "delimiter" msgstr "délimiteur" -#: sql_help.c:3204 +#: sql_help.c:3233 msgid "collatable" msgstr "collationnable" -#: sql_help.c:3301 sql_help.c:3987 sql_help.c:4077 sql_help.c:4560 -#: sql_help.c:4662 sql_help.c:4817 sql_help.c:4930 sql_help.c:5063 +#: sql_help.c:3330 sql_help.c:4017 sql_help.c:4111 sql_help.c:4601 +#: sql_help.c:4704 sql_help.c:4859 sql_help.c:4973 sql_help.c:5104 msgid "with_query" msgstr "requête_with" -#: sql_help.c:3303 sql_help.c:3989 sql_help.c:4579 sql_help.c:4585 -#: sql_help.c:4588 sql_help.c:4592 sql_help.c:4596 sql_help.c:4604 -#: sql_help.c:4836 sql_help.c:4842 sql_help.c:4845 sql_help.c:4849 -#: sql_help.c:4853 sql_help.c:4861 sql_help.c:4932 sql_help.c:5082 -#: sql_help.c:5088 sql_help.c:5091 sql_help.c:5095 sql_help.c:5099 -#: sql_help.c:5107 +#: sql_help.c:3332 sql_help.c:4019 sql_help.c:4620 sql_help.c:4626 +#: sql_help.c:4629 sql_help.c:4633 sql_help.c:4637 sql_help.c:4645 +#: sql_help.c:4878 sql_help.c:4884 sql_help.c:4887 sql_help.c:4891 +#: sql_help.c:4895 sql_help.c:4903 sql_help.c:4975 sql_help.c:5123 +#: sql_help.c:5129 sql_help.c:5132 sql_help.c:5136 sql_help.c:5140 +#: sql_help.c:5148 msgid "alias" msgstr "alias" -#: sql_help.c:3304 sql_help.c:4564 sql_help.c:4606 sql_help.c:4608 -#: sql_help.c:4612 sql_help.c:4614 sql_help.c:4615 sql_help.c:4616 -#: sql_help.c:4667 sql_help.c:4821 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:4869 sql_help.c:4871 sql_help.c:4872 sql_help.c:4873 -#: sql_help.c:4939 sql_help.c:5067 sql_help.c:5109 sql_help.c:5111 -#: sql_help.c:5115 sql_help.c:5117 sql_help.c:5118 sql_help.c:5119 +#: sql_help.c:3333 sql_help.c:4605 sql_help.c:4647 sql_help.c:4649 +#: sql_help.c:4653 sql_help.c:4655 sql_help.c:4656 sql_help.c:4657 +#: sql_help.c:4709 sql_help.c:4863 sql_help.c:4905 sql_help.c:4907 +#: sql_help.c:4911 sql_help.c:4913 sql_help.c:4914 sql_help.c:4915 +#: sql_help.c:4982 sql_help.c:5108 sql_help.c:5150 sql_help.c:5152 +#: sql_help.c:5156 sql_help.c:5158 sql_help.c:5159 sql_help.c:5160 msgid "from_item" msgstr "élément_from" -#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 +#: sql_help.c:3335 sql_help.c:3819 sql_help.c:4168 sql_help.c:4984 msgid "cursor_name" msgstr "nom_curseur" -#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 +#: sql_help.c:3336 sql_help.c:4025 sql_help.c:4117 sql_help.c:4985 msgid "output_expression" msgstr "expression_en_sortie" -#: sql_help.c:3308 sql_help.c:3996 sql_help.c:4563 sql_help.c:4665 -#: sql_help.c:4820 sql_help.c:4943 sql_help.c:5066 +#: sql_help.c:3337 sql_help.c:4026 sql_help.c:4118 sql_help.c:4604 +#: sql_help.c:4707 sql_help.c:4862 sql_help.c:4986 sql_help.c:5107 msgid "output_name" msgstr "nom_en_sortie" -#: sql_help.c:3324 +#: sql_help.c:3353 msgid "code" msgstr "code" -#: sql_help.c:3729 +#: sql_help.c:3758 msgid "parameter" msgstr "paramètre" -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 +#: sql_help.c:3782 sql_help.c:4193 msgid "statement" msgstr "instruction" -#: sql_help.c:3788 sql_help.c:4126 +#: sql_help.c:3818 sql_help.c:4167 msgid "direction" msgstr "direction" -#: sql_help.c:3790 sql_help.c:4128 +#: sql_help.c:3820 sql_help.c:4169 msgid "where direction can be one of:" msgstr "où direction fait partie de :" -#: sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 sql_help.c:3794 -#: sql_help.c:3795 sql_help.c:4129 sql_help.c:4130 sql_help.c:4131 -#: sql_help.c:4132 sql_help.c:4133 sql_help.c:4573 sql_help.c:4575 -#: sql_help.c:4676 sql_help.c:4678 sql_help.c:4830 sql_help.c:4832 -#: sql_help.c:5007 sql_help.c:5009 sql_help.c:5076 sql_help.c:5078 +#: sql_help.c:3821 sql_help.c:3822 sql_help.c:3823 sql_help.c:3824 +#: sql_help.c:3825 sql_help.c:4170 sql_help.c:4171 sql_help.c:4172 +#: sql_help.c:4173 sql_help.c:4174 sql_help.c:4614 sql_help.c:4616 +#: sql_help.c:4718 sql_help.c:4720 sql_help.c:4872 sql_help.c:4874 +#: sql_help.c:5048 sql_help.c:5050 sql_help.c:5117 sql_help.c:5119 msgid "count" msgstr "nombre" -#: sql_help.c:3898 sql_help.c:4350 +#: sql_help.c:3928 sql_help.c:4391 msgid "sequence_name" msgstr "nom_séquence" -#: sql_help.c:3916 sql_help.c:4368 +#: sql_help.c:3946 sql_help.c:4409 msgid "arg_name" msgstr "nom_argument" -#: sql_help.c:3917 sql_help.c:4369 +#: sql_help.c:3947 sql_help.c:4410 msgid "arg_type" msgstr "type_arg" -#: sql_help.c:3924 sql_help.c:4376 +#: sql_help.c:3954 sql_help.c:4417 msgid "loid" msgstr "loid" -#: sql_help.c:3955 +#: sql_help.c:3985 msgid "remote_schema" msgstr "schema_distant" -#: sql_help.c:3958 +#: sql_help.c:3988 msgid "local_schema" msgstr "schéma_local" -#: sql_help.c:3993 +#: sql_help.c:4023 msgid "conflict_target" msgstr "cible_conflit" -#: sql_help.c:3994 +#: sql_help.c:4024 msgid "conflict_action" msgstr "action_conflit" -#: sql_help.c:3997 +#: sql_help.c:4027 msgid "where conflict_target can be one of:" msgstr "où cible_conflit fait partie de :" -#: sql_help.c:3998 +#: sql_help.c:4028 msgid "index_column_name" msgstr "index_nom_colonne" -#: sql_help.c:3999 +#: sql_help.c:4029 msgid "index_expression" msgstr "index_expression" -#: sql_help.c:4002 +#: sql_help.c:4032 msgid "index_predicate" msgstr "index_prédicat" -#: sql_help.c:4004 +#: sql_help.c:4034 msgid "and conflict_action is one of:" msgstr "où action_conflit fait partie de :" -#: sql_help.c:4010 sql_help.c:4938 +#: sql_help.c:4040 sql_help.c:4141 sql_help.c:4981 msgid "sub-SELECT" msgstr "sous-SELECT" -#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 +#: sql_help.c:4049 sql_help.c:4182 sql_help.c:4957 msgid "channel" msgstr "canal" -#: sql_help.c:4041 +#: sql_help.c:4071 msgid "lockmode" msgstr "mode_de_verrou" -#: sql_help.c:4042 +#: sql_help.c:4072 msgid "where lockmode is one of:" msgstr "où mode_de_verrou fait partie de :" -#: sql_help.c:4078 +#: sql_help.c:4112 msgid "target_table_name" msgstr "target_table_name" -#: sql_help.c:4079 +#: sql_help.c:4113 msgid "target_alias" msgstr "target_alias" -#: sql_help.c:4080 +#: sql_help.c:4114 msgid "data_source" msgstr "data_source" -#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 +#: sql_help.c:4115 sql_help.c:4650 sql_help.c:4908 sql_help.c:5153 msgid "join_condition" msgstr "condition_de_jointure" -#: sql_help.c:4082 +#: sql_help.c:4116 msgid "when_clause" msgstr "when_clause" -#: sql_help.c:4083 +#: sql_help.c:4119 msgid "where data_source is:" msgstr "où data_source est :" -#: sql_help.c:4084 +#: sql_help.c:4120 msgid "source_table_name" msgstr "source_table_name" -#: sql_help.c:4085 +#: sql_help.c:4121 msgid "source_query" msgstr "source_query" -#: sql_help.c:4086 +#: sql_help.c:4122 msgid "source_alias" msgstr "source_alias" -#: sql_help.c:4087 +#: sql_help.c:4123 msgid "and when_clause is:" msgstr "et when_clause est :" -#: sql_help.c:4089 +#: sql_help.c:4125 sql_help.c:4128 msgid "merge_update" msgstr "merge_delete" -#: sql_help.c:4090 +#: sql_help.c:4126 sql_help.c:4129 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4092 +#: sql_help.c:4131 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4093 +#: sql_help.c:4132 msgid "and merge_insert is:" msgstr "et merge_insert est :" -#: sql_help.c:4096 +#: sql_help.c:4135 msgid "and merge_update is:" msgstr "et merge_update est :" -#: sql_help.c:4101 +#: sql_help.c:4142 msgid "and merge_delete is:" msgstr "et merge_delete est :" -#: sql_help.c:4142 +#: sql_help.c:4183 msgid "payload" msgstr "contenu" -#: sql_help.c:4169 +#: sql_help.c:4210 msgid "old_role" msgstr "ancien_rôle" -#: sql_help.c:4170 +#: sql_help.c:4211 msgid "new_role" msgstr "nouveau_rôle" -#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 +#: sql_help.c:4250 sql_help.c:4459 sql_help.c:4467 msgid "savepoint_name" msgstr "nom_savepoint" -#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 -#: sql_help.c:5069 sql_help.c:5127 +#: sql_help.c:4607 sql_help.c:4665 sql_help.c:4865 sql_help.c:4923 +#: sql_help.c:5110 sql_help.c:5168 msgid "grouping_element" msgstr "element_regroupement" -#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 +#: sql_help.c:4609 sql_help.c:4713 sql_help.c:4867 sql_help.c:5112 msgid "window_name" msgstr "nom_window" -#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 +#: sql_help.c:4610 sql_help.c:4714 sql_help.c:4868 sql_help.c:5113 msgid "window_definition" msgstr "définition_window" -#: sql_help.c:4570 sql_help.c:4584 sql_help.c:4628 sql_help.c:4673 -#: sql_help.c:4827 sql_help.c:4841 sql_help.c:4885 sql_help.c:5073 -#: sql_help.c:5087 sql_help.c:5131 +#: sql_help.c:4611 sql_help.c:4625 sql_help.c:4669 sql_help.c:4715 +#: sql_help.c:4869 sql_help.c:4883 sql_help.c:4927 sql_help.c:5114 +#: sql_help.c:5128 sql_help.c:5172 msgid "select" msgstr "sélection" -#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 +#: sql_help.c:4617 sql_help.c:4875 sql_help.c:5120 +msgid "from_reference" +msgstr "reference_from" + +#: sql_help.c:4618 sql_help.c:4876 sql_help.c:5121 msgid "where from_item can be one of:" msgstr "où élément_from fait partie de :" -#: sql_help.c:4580 sql_help.c:4586 sql_help.c:4589 sql_help.c:4593 -#: sql_help.c:4605 sql_help.c:4837 sql_help.c:4843 sql_help.c:4846 -#: sql_help.c:4850 sql_help.c:4862 sql_help.c:5083 sql_help.c:5089 -#: sql_help.c:5092 sql_help.c:5096 sql_help.c:5108 +#: sql_help.c:4621 sql_help.c:4627 sql_help.c:4630 sql_help.c:4634 +#: sql_help.c:4646 sql_help.c:4879 sql_help.c:4885 sql_help.c:4888 +#: sql_help.c:4892 sql_help.c:4904 sql_help.c:5124 sql_help.c:5130 +#: sql_help.c:5133 sql_help.c:5137 sql_help.c:5149 msgid "column_alias" msgstr "alias_colonne" -#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 +#: sql_help.c:4622 sql_help.c:4880 sql_help.c:5125 msgid "sampling_method" msgstr "méthode_echantillonnage" -#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 +#: sql_help.c:4624 sql_help.c:4882 sql_help.c:5127 msgid "seed" msgstr "graine" -#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 -#: sql_help.c:5090 sql_help.c:5129 +#: sql_help.c:4628 sql_help.c:4667 sql_help.c:4886 sql_help.c:4925 +#: sql_help.c:5131 sql_help.c:5170 msgid "with_query_name" msgstr "nom_requête_with" -#: sql_help.c:4597 sql_help.c:4600 sql_help.c:4603 sql_help.c:4854 -#: sql_help.c:4857 sql_help.c:4860 sql_help.c:5100 sql_help.c:5103 -#: sql_help.c:5106 +#: sql_help.c:4638 sql_help.c:4641 sql_help.c:4644 sql_help.c:4896 +#: sql_help.c:4899 sql_help.c:4902 sql_help.c:5141 sql_help.c:5144 +#: sql_help.c:5147 msgid "column_definition" msgstr "définition_colonne" -#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 -#: sql_help.c:5110 sql_help.c:5116 +#: sql_help.c:4648 sql_help.c:4654 sql_help.c:4906 sql_help.c:4912 +#: sql_help.c:5151 sql_help.c:5157 msgid "join_type" msgstr "type_de_jointure" -#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 +#: sql_help.c:4651 sql_help.c:4909 sql_help.c:5154 msgid "join_column" msgstr "colonne_de_jointure" -#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 +#: sql_help.c:4652 sql_help.c:4910 sql_help.c:5155 msgid "join_using_alias" msgstr "join_utilisant_alias" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 +#: sql_help.c:4658 sql_help.c:4916 sql_help.c:5161 msgid "and grouping_element can be one of:" msgstr "où element_regroupement fait partie de :" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 +#: sql_help.c:4666 sql_help.c:4924 sql_help.c:5169 msgid "and with_query is:" msgstr "et requête_with est :" -#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 +#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 msgid "values" msgstr "valeurs" -#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 +#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 msgid "insert" msgstr "insert" -#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 +#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 msgid "update" msgstr "update" -#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 +#: sql_help.c:4673 sql_help.c:4931 sql_help.c:5176 msgid "delete" msgstr "delete" -#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 +#: sql_help.c:4674 sql_help.c:4932 sql_help.c:5177 +msgid "merge" +msgstr "merge" + +#: sql_help.c:4676 sql_help.c:4934 sql_help.c:5179 msgid "search_seq_col_name" msgstr "nom_colonne_seq_recherche" -#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +#: sql_help.c:4678 sql_help.c:4936 sql_help.c:5181 msgid "cycle_mark_col_name" msgstr "nom_colonne_marque_cycle" -#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 +#: sql_help.c:4679 sql_help.c:4937 sql_help.c:5182 msgid "cycle_mark_value" msgstr "valeur_marque_cycle" -#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +#: sql_help.c:4680 sql_help.c:4938 sql_help.c:5183 msgid "cycle_mark_default" msgstr "défaut_marque_cyle" -#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "cycle_path_col_name" msgstr "nom_colonne_chemin_cycle" -#: sql_help.c:4666 +#: sql_help.c:4708 msgid "new_table" msgstr "nouvelle_table" -#: sql_help.c:4737 +#: sql_help.c:4779 msgid "snapshot_id" msgstr "id_snapshot" -#: sql_help.c:5005 +#: sql_help.c:5046 msgid "sort_expression" msgstr "expression_de_tri" -#: sql_help.c:5149 sql_help.c:6133 +#: sql_help.c:5191 sql_help.c:6175 msgid "abort the current transaction" msgstr "abandonner la transaction en cours" -#: sql_help.c:5155 +#: sql_help.c:5197 msgid "change the definition of an aggregate function" msgstr "modifier la définition d'une fonction d'agrégation" -#: sql_help.c:5161 +#: sql_help.c:5203 msgid "change the definition of a collation" msgstr "modifier la définition d'un collationnement" -#: sql_help.c:5167 +#: sql_help.c:5209 msgid "change the definition of a conversion" msgstr "modifier la définition d'une conversion" -#: sql_help.c:5173 +#: sql_help.c:5215 msgid "change a database" msgstr "modifier une base de données" -#: sql_help.c:5179 +#: sql_help.c:5221 msgid "define default access privileges" msgstr "définir les droits d'accès par défaut" -#: sql_help.c:5185 +#: sql_help.c:5227 msgid "change the definition of a domain" msgstr "modifier la définition d'un domaine" -#: sql_help.c:5191 +#: sql_help.c:5233 msgid "change the definition of an event trigger" msgstr "modifier la définition d'un trigger sur évènement" -#: sql_help.c:5197 +#: sql_help.c:5239 msgid "change the definition of an extension" msgstr "modifier la définition d'une extension" -#: sql_help.c:5203 +#: sql_help.c:5245 msgid "change the definition of a foreign-data wrapper" msgstr "modifier la définition d'un wrapper de données distantes" -#: sql_help.c:5209 +#: sql_help.c:5251 msgid "change the definition of a foreign table" msgstr "modifier la définition d'une table distante" -#: sql_help.c:5215 +#: sql_help.c:5257 msgid "change the definition of a function" msgstr "modifier la définition d'une fonction" -#: sql_help.c:5221 +#: sql_help.c:5263 msgid "change role name or membership" msgstr "modifier le nom d'un groupe ou la liste des ses membres" -#: sql_help.c:5227 +#: sql_help.c:5269 msgid "change the definition of an index" msgstr "modifier la définition d'un index" -#: sql_help.c:5233 +#: sql_help.c:5275 msgid "change the definition of a procedural language" msgstr "modifier la définition d'un langage procédural" -#: sql_help.c:5239 +#: sql_help.c:5281 msgid "change the definition of a large object" msgstr "modifier la définition d'un « Large Object »" -#: sql_help.c:5245 +#: sql_help.c:5287 msgid "change the definition of a materialized view" msgstr "modifier la définition d'une vue matérialisée" -#: sql_help.c:5251 +#: sql_help.c:5293 msgid "change the definition of an operator" msgstr "modifier la définition d'un opérateur" -#: sql_help.c:5257 +#: sql_help.c:5299 msgid "change the definition of an operator class" msgstr "modifier la définition d'une classe d'opérateurs" -#: sql_help.c:5263 +#: sql_help.c:5305 msgid "change the definition of an operator family" msgstr "modifier la définition d'une famille d'opérateur" -#: sql_help.c:5269 +#: sql_help.c:5311 msgid "change the definition of a row-level security policy" msgstr "modifier la définition d'une politique de sécurité au niveau ligne" -#: sql_help.c:5275 +#: sql_help.c:5317 msgid "change the definition of a procedure" msgstr "modifier la définition d'une procédure" -#: sql_help.c:5281 +#: sql_help.c:5323 msgid "change the definition of a publication" msgstr "modifier la définition d'une publication" -#: sql_help.c:5287 sql_help.c:5389 +#: sql_help.c:5329 sql_help.c:5431 msgid "change a database role" msgstr "modifier un rôle" -#: sql_help.c:5293 +#: sql_help.c:5335 msgid "change the definition of a routine" msgstr "modifier la définition d'une routine" -#: sql_help.c:5299 +#: sql_help.c:5341 msgid "change the definition of a rule" msgstr "modifier la définition d'une règle" -#: sql_help.c:5305 +#: sql_help.c:5347 msgid "change the definition of a schema" msgstr "modifier la définition d'un schéma" -#: sql_help.c:5311 +#: sql_help.c:5353 msgid "change the definition of a sequence generator" msgstr "modifier la définition d'un générateur de séquence" -#: sql_help.c:5317 +#: sql_help.c:5359 msgid "change the definition of a foreign server" msgstr "modifier la définition d'un serveur distant" -#: sql_help.c:5323 +#: sql_help.c:5365 msgid "change the definition of an extended statistics object" msgstr "modifier la définition d'un objet de statistiques étendues" -#: sql_help.c:5329 +#: sql_help.c:5371 msgid "change the definition of a subscription" msgstr "modifier la définition d'une souscription" -#: sql_help.c:5335 +#: sql_help.c:5377 msgid "change a server configuration parameter" msgstr "modifie un paramètre de configuration du serveur" -#: sql_help.c:5341 +#: sql_help.c:5383 msgid "change the definition of a table" msgstr "modifier la définition d'une table" -#: sql_help.c:5347 +#: sql_help.c:5389 msgid "change the definition of a tablespace" msgstr "modifier la définition d'un tablespace" -#: sql_help.c:5353 +#: sql_help.c:5395 msgid "change the definition of a text search configuration" msgstr "modifier la définition d'une configuration de la recherche de texte" -#: sql_help.c:5359 +#: sql_help.c:5401 msgid "change the definition of a text search dictionary" msgstr "modifier la définition d'un dictionnaire de la recherche de texte" -#: sql_help.c:5365 +#: sql_help.c:5407 msgid "change the definition of a text search parser" msgstr "modifier la définition d'un analyseur de la recherche de texte" -#: sql_help.c:5371 +#: sql_help.c:5413 msgid "change the definition of a text search template" msgstr "modifier la définition d'un modèle de la recherche de texte" -#: sql_help.c:5377 +#: sql_help.c:5419 msgid "change the definition of a trigger" msgstr "modifier la définition d'un trigger" -#: sql_help.c:5383 +#: sql_help.c:5425 msgid "change the definition of a type" msgstr "modifier la définition d'un type" -#: sql_help.c:5395 +#: sql_help.c:5437 msgid "change the definition of a user mapping" msgstr "modifier la définition d'une correspondance d'utilisateur" -#: sql_help.c:5401 +#: sql_help.c:5443 msgid "change the definition of a view" msgstr "modifier la définition d'une vue" -#: sql_help.c:5407 +#: sql_help.c:5449 msgid "collect statistics about a database" msgstr "acquérir des statistiques concernant la base de données" -#: sql_help.c:5413 sql_help.c:6211 +#: sql_help.c:5455 sql_help.c:6253 msgid "start a transaction block" msgstr "débuter un bloc de transaction" -#: sql_help.c:5419 +#: sql_help.c:5461 msgid "invoke a procedure" msgstr "appeler une procédure" -#: sql_help.c:5425 +#: sql_help.c:5467 msgid "force a write-ahead log checkpoint" msgstr "forcer un point de vérification des journaux de transactions" -#: sql_help.c:5431 +#: sql_help.c:5473 msgid "close a cursor" msgstr "fermer un curseur" -#: sql_help.c:5437 +#: sql_help.c:5479 msgid "cluster a table according to an index" msgstr "réorganiser (cluster) une table en fonction d'un index" -#: sql_help.c:5443 +#: sql_help.c:5485 msgid "define or change the comment of an object" msgstr "définir ou modifier les commentaires d'un objet" -#: sql_help.c:5449 sql_help.c:6007 +#: sql_help.c:5491 sql_help.c:6049 msgid "commit the current transaction" msgstr "valider la transaction en cours" -#: sql_help.c:5455 +#: sql_help.c:5497 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "" "valider une transaction précédemment préparée pour une validation en deux\n" "phases" -#: sql_help.c:5461 +#: sql_help.c:5503 msgid "copy data between a file and a table" msgstr "copier des données entre un fichier et une table" -#: sql_help.c:5467 +#: sql_help.c:5509 msgid "define a new access method" msgstr "définir une nouvelle méthode d'accès" -#: sql_help.c:5473 +#: sql_help.c:5515 msgid "define a new aggregate function" msgstr "définir une nouvelle fonction d'agrégation" -#: sql_help.c:5479 +#: sql_help.c:5521 msgid "define a new cast" msgstr "définir un nouveau transtypage" -#: sql_help.c:5485 +#: sql_help.c:5527 msgid "define a new collation" msgstr "définir un nouveau collationnement" -#: sql_help.c:5491 +#: sql_help.c:5533 msgid "define a new encoding conversion" msgstr "définir une nouvelle conversion d'encodage" -#: sql_help.c:5497 +#: sql_help.c:5539 msgid "create a new database" msgstr "créer une nouvelle base de données" -#: sql_help.c:5503 +#: sql_help.c:5545 msgid "define a new domain" msgstr "définir un nouveau domaine" -#: sql_help.c:5509 +#: sql_help.c:5551 msgid "define a new event trigger" msgstr "définir un nouveau trigger sur évènement" -#: sql_help.c:5515 +#: sql_help.c:5557 msgid "install an extension" msgstr "installer une extension" -#: sql_help.c:5521 +#: sql_help.c:5563 msgid "define a new foreign-data wrapper" msgstr "définir un nouveau wrapper de données distantes" -#: sql_help.c:5527 +#: sql_help.c:5569 msgid "define a new foreign table" msgstr "définir une nouvelle table distante" -#: sql_help.c:5533 +#: sql_help.c:5575 msgid "define a new function" msgstr "définir une nouvelle fonction" -#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 +#: sql_help.c:5581 sql_help.c:5641 sql_help.c:5743 msgid "define a new database role" msgstr "définir un nouveau rôle" -#: sql_help.c:5545 +#: sql_help.c:5587 msgid "define a new index" msgstr "définir un nouvel index" -#: sql_help.c:5551 +#: sql_help.c:5593 msgid "define a new procedural language" msgstr "définir un nouveau langage de procédures" -#: sql_help.c:5557 +#: sql_help.c:5599 msgid "define a new materialized view" msgstr "définir une nouvelle vue matérialisée" -#: sql_help.c:5563 +#: sql_help.c:5605 msgid "define a new operator" msgstr "définir un nouvel opérateur" -#: sql_help.c:5569 +#: sql_help.c:5611 msgid "define a new operator class" msgstr "définir une nouvelle classe d'opérateur" -#: sql_help.c:5575 +#: sql_help.c:5617 msgid "define a new operator family" msgstr "définir une nouvelle famille d'opérateur" -#: sql_help.c:5581 +#: sql_help.c:5623 msgid "define a new row-level security policy for a table" msgstr "définir une nouvelle politique de sécurité au niveau ligne pour une table" -#: sql_help.c:5587 +#: sql_help.c:5629 msgid "define a new procedure" msgstr "définir une nouvelle procédure" -#: sql_help.c:5593 +#: sql_help.c:5635 msgid "define a new publication" msgstr "définir une nouvelle publication" -#: sql_help.c:5605 +#: sql_help.c:5647 msgid "define a new rewrite rule" msgstr "définir une nouvelle règle de réécriture" -#: sql_help.c:5611 +#: sql_help.c:5653 msgid "define a new schema" msgstr "définir un nouveau schéma" -#: sql_help.c:5617 +#: sql_help.c:5659 msgid "define a new sequence generator" msgstr "définir un nouveau générateur de séquence" -#: sql_help.c:5623 +#: sql_help.c:5665 msgid "define a new foreign server" msgstr "définir un nouveau serveur distant" -#: sql_help.c:5629 +#: sql_help.c:5671 msgid "define extended statistics" msgstr "définir des statistiques étendues" -#: sql_help.c:5635 +#: sql_help.c:5677 msgid "define a new subscription" msgstr "définir une nouvelle souscription" -#: sql_help.c:5641 +#: sql_help.c:5683 msgid "define a new table" msgstr "définir une nouvelle table" -#: sql_help.c:5647 sql_help.c:6169 +#: sql_help.c:5689 sql_help.c:6211 msgid "define a new table from the results of a query" msgstr "définir une nouvelle table à partir des résultats d'une requête" -#: sql_help.c:5653 +#: sql_help.c:5695 msgid "define a new tablespace" msgstr "définir un nouveau tablespace" -#: sql_help.c:5659 +#: sql_help.c:5701 msgid "define a new text search configuration" msgstr "définir une nouvelle configuration de la recherche de texte" -#: sql_help.c:5665 +#: sql_help.c:5707 msgid "define a new text search dictionary" msgstr "définir un nouveau dictionnaire de la recherche de texte" -#: sql_help.c:5671 +#: sql_help.c:5713 msgid "define a new text search parser" msgstr "définir un nouvel analyseur de la recherche de texte" -#: sql_help.c:5677 +#: sql_help.c:5719 msgid "define a new text search template" msgstr "définir un nouveau modèle de la recherche de texte" -#: sql_help.c:5683 +#: sql_help.c:5725 msgid "define a new transform" msgstr "définir une nouvelle transformation" -#: sql_help.c:5689 +#: sql_help.c:5731 msgid "define a new trigger" msgstr "définir un nouveau trigger" -#: sql_help.c:5695 +#: sql_help.c:5737 msgid "define a new data type" msgstr "définir un nouveau type de données" -#: sql_help.c:5707 +#: sql_help.c:5749 msgid "define a new mapping of a user to a foreign server" msgstr "définit une nouvelle correspondance d'un utilisateur vers un serveur distant" -#: sql_help.c:5713 +#: sql_help.c:5755 msgid "define a new view" msgstr "définir une nouvelle vue" -#: sql_help.c:5719 +#: sql_help.c:5761 msgid "deallocate a prepared statement" msgstr "désallouer une instruction préparée" -#: sql_help.c:5725 +#: sql_help.c:5767 msgid "define a cursor" msgstr "définir un curseur" -#: sql_help.c:5731 +#: sql_help.c:5773 msgid "delete rows of a table" msgstr "supprimer des lignes d'une table" -#: sql_help.c:5737 +#: sql_help.c:5779 msgid "discard session state" msgstr "annuler l'état de la session" -#: sql_help.c:5743 +#: sql_help.c:5785 msgid "execute an anonymous code block" msgstr "exécute un bloc de code anonyme" -#: sql_help.c:5749 +#: sql_help.c:5791 msgid "remove an access method" msgstr "supprimer une méthode d'accès" -#: sql_help.c:5755 +#: sql_help.c:5797 msgid "remove an aggregate function" msgstr "supprimer une fonction d'agrégation" -#: sql_help.c:5761 +#: sql_help.c:5803 msgid "remove a cast" msgstr "supprimer un transtypage" -#: sql_help.c:5767 +#: sql_help.c:5809 msgid "remove a collation" msgstr "supprimer un collationnement" -#: sql_help.c:5773 +#: sql_help.c:5815 msgid "remove a conversion" msgstr "supprimer une conversion" -#: sql_help.c:5779 +#: sql_help.c:5821 msgid "remove a database" msgstr "supprimer une base de données" -#: sql_help.c:5785 +#: sql_help.c:5827 msgid "remove a domain" msgstr "supprimer un domaine" -#: sql_help.c:5791 +#: sql_help.c:5833 msgid "remove an event trigger" msgstr "supprimer un trigger sur évènement" -#: sql_help.c:5797 +#: sql_help.c:5839 msgid "remove an extension" msgstr "supprimer une extension" -#: sql_help.c:5803 +#: sql_help.c:5845 msgid "remove a foreign-data wrapper" msgstr "supprimer un wrapper de données distantes" -#: sql_help.c:5809 +#: sql_help.c:5851 msgid "remove a foreign table" msgstr "supprimer une table distante" -#: sql_help.c:5815 +#: sql_help.c:5857 msgid "remove a function" msgstr "supprimer une fonction" -#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 +#: sql_help.c:5863 sql_help.c:5929 sql_help.c:6031 msgid "remove a database role" msgstr "supprimer un rôle de la base de données" -#: sql_help.c:5827 +#: sql_help.c:5869 msgid "remove an index" msgstr "supprimer un index" -#: sql_help.c:5833 +#: sql_help.c:5875 msgid "remove a procedural language" msgstr "supprimer un langage procédural" -#: sql_help.c:5839 +#: sql_help.c:5881 msgid "remove a materialized view" msgstr "supprimer une vue matérialisée" -#: sql_help.c:5845 +#: sql_help.c:5887 msgid "remove an operator" msgstr "supprimer un opérateur" -#: sql_help.c:5851 +#: sql_help.c:5893 msgid "remove an operator class" msgstr "supprimer une classe d'opérateur" -#: sql_help.c:5857 +#: sql_help.c:5899 msgid "remove an operator family" msgstr "supprimer une famille d'opérateur" -#: sql_help.c:5863 +#: sql_help.c:5905 msgid "remove database objects owned by a database role" msgstr "supprimer les objets appartenant à un rôle" -#: sql_help.c:5869 +#: sql_help.c:5911 msgid "remove a row-level security policy from a table" msgstr "supprimer une politique de sécurité au niveau ligne pour une table" -#: sql_help.c:5875 +#: sql_help.c:5917 msgid "remove a procedure" msgstr "supprimer une procédure" -#: sql_help.c:5881 +#: sql_help.c:5923 msgid "remove a publication" msgstr "supprimer une publication" -#: sql_help.c:5893 +#: sql_help.c:5935 msgid "remove a routine" msgstr "supprimer une routine" -#: sql_help.c:5899 +#: sql_help.c:5941 msgid "remove a rewrite rule" msgstr "supprimer une règle de réécriture" -#: sql_help.c:5905 +#: sql_help.c:5947 msgid "remove a schema" msgstr "supprimer un schéma" -#: sql_help.c:5911 +#: sql_help.c:5953 msgid "remove a sequence" msgstr "supprimer une séquence" -#: sql_help.c:5917 +#: sql_help.c:5959 msgid "remove a foreign server descriptor" msgstr "supprimer un descripteur de serveur distant" -#: sql_help.c:5923 +#: sql_help.c:5965 msgid "remove extended statistics" msgstr "supprimer des statistiques étendues" -#: sql_help.c:5929 +#: sql_help.c:5971 msgid "remove a subscription" msgstr "supprimer une souscription" -#: sql_help.c:5935 +#: sql_help.c:5977 msgid "remove a table" msgstr "supprimer une table" -#: sql_help.c:5941 +#: sql_help.c:5983 msgid "remove a tablespace" msgstr "supprimer un tablespace" -#: sql_help.c:5947 +#: sql_help.c:5989 msgid "remove a text search configuration" msgstr "supprimer une configuration de la recherche de texte" -#: sql_help.c:5953 +#: sql_help.c:5995 msgid "remove a text search dictionary" msgstr "supprimer un dictionnaire de la recherche de texte" -#: sql_help.c:5959 +#: sql_help.c:6001 msgid "remove a text search parser" msgstr "supprimer un analyseur de la recherche de texte" -#: sql_help.c:5965 +#: sql_help.c:6007 msgid "remove a text search template" msgstr "supprimer un modèle de la recherche de texte" -#: sql_help.c:5971 +#: sql_help.c:6013 msgid "remove a transform" msgstr "supprimer une transformation" -#: sql_help.c:5977 +#: sql_help.c:6019 msgid "remove a trigger" msgstr "supprimer un trigger" -#: sql_help.c:5983 +#: sql_help.c:6025 msgid "remove a data type" msgstr "supprimer un type de données" -#: sql_help.c:5995 +#: sql_help.c:6037 msgid "remove a user mapping for a foreign server" msgstr "supprime une correspondance utilisateur pour un serveur distant" -#: sql_help.c:6001 +#: sql_help.c:6043 msgid "remove a view" msgstr "supprimer une vue" -#: sql_help.c:6013 +#: sql_help.c:6055 msgid "execute a prepared statement" msgstr "exécuter une instruction préparée" -#: sql_help.c:6019 +#: sql_help.c:6061 msgid "show the execution plan of a statement" msgstr "afficher le plan d'exécution d'une instruction" -#: sql_help.c:6025 +#: sql_help.c:6067 msgid "retrieve rows from a query using a cursor" msgstr "extraire certaines lignes d'une requête à l'aide d'un curseur" -#: sql_help.c:6031 +#: sql_help.c:6073 msgid "define access privileges" msgstr "définir des privilèges d'accès" -#: sql_help.c:6037 +#: sql_help.c:6079 msgid "import table definitions from a foreign server" msgstr "importer la définition d'une table à partir d'un serveur distant" -#: sql_help.c:6043 +#: sql_help.c:6085 msgid "create new rows in a table" msgstr "créer de nouvelles lignes dans une table" -#: sql_help.c:6049 +#: sql_help.c:6091 msgid "listen for a notification" msgstr "se mettre à l'écoute d'une notification" -#: sql_help.c:6055 +#: sql_help.c:6097 msgid "load a shared library file" msgstr "charger un fichier de bibliothèque partagée" -#: sql_help.c:6061 +#: sql_help.c:6103 msgid "lock a table" msgstr "verrouiller une table" -#: sql_help.c:6067 +#: sql_help.c:6109 msgid "conditionally insert, update, or delete rows of a table" msgstr "insère, modifie ou supprime des lignes d'une table de façon conditionnelle" -#: sql_help.c:6073 +#: sql_help.c:6115 msgid "position a cursor" msgstr "positionner un curseur" -#: sql_help.c:6079 +#: sql_help.c:6121 msgid "generate a notification" msgstr "engendrer une notification" -#: sql_help.c:6085 +#: sql_help.c:6127 msgid "prepare a statement for execution" msgstr "préparer une instruction pour exécution" -#: sql_help.c:6091 +#: sql_help.c:6133 msgid "prepare the current transaction for two-phase commit" msgstr "préparer la transaction en cours pour une validation en deux phases" -#: sql_help.c:6097 +#: sql_help.c:6139 msgid "change the ownership of database objects owned by a database role" msgstr "changer le propriétaire des objets d'un rôle" -#: sql_help.c:6103 +#: sql_help.c:6145 msgid "replace the contents of a materialized view" msgstr "remplacer le contenu d'une vue matérialisée" -#: sql_help.c:6109 +#: sql_help.c:6151 msgid "rebuild indexes" msgstr "reconstruire des index" -#: sql_help.c:6115 +#: sql_help.c:6157 msgid "release a previously defined savepoint" msgstr "détruire un savepoint précédemment défini" -#: sql_help.c:6121 +#: sql_help.c:6163 msgid "restore the value of a run-time parameter to the default value" msgstr "réinitialiser un paramètre d'exécution à sa valeur par défaut" -#: sql_help.c:6127 +#: sql_help.c:6169 msgid "remove access privileges" msgstr "supprimer des privilèges d'accès" -#: sql_help.c:6139 +#: sql_help.c:6181 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "" "annuler une transaction précédemment préparée pour une validation en deux\n" "phases" -#: sql_help.c:6145 +#: sql_help.c:6187 msgid "roll back to a savepoint" msgstr "annuler jusqu'au point de retournement" -#: sql_help.c:6151 +#: sql_help.c:6193 msgid "define a new savepoint within the current transaction" msgstr "définir un nouveau point de retournement pour la transaction en cours" -#: sql_help.c:6157 +#: sql_help.c:6199 msgid "define or change a security label applied to an object" msgstr "définir ou modifier un label de sécurité à un objet" -#: sql_help.c:6163 sql_help.c:6217 sql_help.c:6253 +#: sql_help.c:6205 sql_help.c:6259 sql_help.c:6295 msgid "retrieve rows from a table or view" msgstr "extraire des lignes d'une table ou d'une vue" -#: sql_help.c:6175 +#: sql_help.c:6217 msgid "change a run-time parameter" msgstr "modifier un paramètre d'exécution" -#: sql_help.c:6181 +#: sql_help.c:6223 msgid "set constraint check timing for the current transaction" msgstr "définir le moment de la vérification des contraintes pour la transaction en cours" -#: sql_help.c:6187 +#: sql_help.c:6229 msgid "set the current user identifier of the current session" msgstr "définir l'identifiant actuel de l'utilisateur de la session courante" -#: sql_help.c:6193 +#: sql_help.c:6235 msgid "set the session user identifier and the current user identifier of the current session" msgstr "" "définir l'identifiant de l'utilisateur de session et l'identifiant actuel de\n" "l'utilisateur de la session courante" -#: sql_help.c:6199 +#: sql_help.c:6241 msgid "set the characteristics of the current transaction" msgstr "définir les caractéristiques de la transaction en cours" -#: sql_help.c:6205 +#: sql_help.c:6247 msgid "show the value of a run-time parameter" msgstr "afficher la valeur d'un paramètre d'exécution" -#: sql_help.c:6223 +#: sql_help.c:6265 msgid "empty a table or set of tables" msgstr "vider une table ou un ensemble de tables" -#: sql_help.c:6229 +#: sql_help.c:6271 msgid "stop listening for a notification" msgstr "arrêter l'écoute d'une notification" -#: sql_help.c:6235 +#: sql_help.c:6277 msgid "update rows of a table" msgstr "actualiser les lignes d'une table" -#: sql_help.c:6241 +#: sql_help.c:6283 msgid "garbage-collect and optionally analyze a database" msgstr "compacter et optionnellement analyser une base de données" -#: sql_help.c:6247 +#: sql_help.c:6289 msgid "compute a set of rows" msgstr "calculer un ensemble de lignes" @@ -6623,7 +6696,7 @@ msgstr "option supplémentaire « %s » ignorée" msgid "could not find own program executable" msgstr "n'a pas pu trouver son propre exécutable" -#: tab-complete.c:6078 +#: tab-complete.c:6230 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6673,6 +6746,31 @@ msgstr "" #~ msgid " -?, --help show this help, then exit\n" #~ msgstr " -?, --help affiche cette aide puis quitte\n" +#, c-format +#~ msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" +#~ msgstr "" +#~ " -U, --username=UTILISATEUR\n" +#~ " nom d'utilisateur de la base de données (par\n" +#~ " défaut : « %s »)\n" + +#, c-format +#~ msgid " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" +#~ msgstr "" +#~ " -d, --dbname=BASE indique le nom de la base de données à laquelle se\n" +#~ " connecter (par défaut : « %s »)\n" + +#, c-format +#~ msgid " -h, --host=HOSTNAME database server host or socket directory (default: \"%s\")\n" +#~ msgstr "" +#~ " -h, --host=HÔTE nom d'hôte du serveur de la base de données ou\n" +#~ " répertoire de la socket (par défaut : %s)\n" + +#, c-format +#~ msgid " -p, --port=PORT database server port (default: \"%s\")\n" +#~ msgstr "" +#~ " -p, --port=PORT port du serveur de la base de données (par défaut :\n" +#~ " « %s »)\n" + #~ msgid " SERVER_VERSION_NAME server's version (short string)\n" #~ msgstr " SERVER_VERSION_NAME version du serveur (chaîne courte)\n" @@ -6748,6 +6846,9 @@ msgstr "" #~ " \\lo_list[+]\n" #~ " \\lo_unlink OIDLOB opérations sur les « Large Objects »\n" +#~ msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" +#~ msgstr " \\watch [[i=]SEC] [c=N] exécute la requête toutes les SEC secondes, jusqu'à N fois\n" + #~ msgid " \\z [PATTERN] list table, view, and sequence access privileges (same as \\dp)\n" #~ msgstr "" #~ " \\z [MODÈLE] affiche la liste des privilèges d'accès aux tables,\n" @@ -6797,6 +6898,12 @@ msgstr "" #~ msgid "All connection parameters must be supplied because no database connection exists" #~ msgstr "Tous les paramètres de connexion doivent être fournis car il n'existe pas de connexion à une base de données" +#, c-format +#~ msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +#~ msgstr "" +#~ "Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n" +#~ "cellules %d est dépassé.\n" + #~ msgid "Copy, Large Object\n" #~ msgstr "Copie, « Large Object »\n" @@ -6812,6 +6919,9 @@ msgstr "" #~ msgid "Exclusion constraints:" #~ msgstr "Contraintes d'exclusion :" +#~ msgid "ICU Locale" +#~ msgstr "Locale ICU" + #~ msgid "Invalid command \\%s. Try \\? for help.\n" #~ msgstr "Commande \\%s invalide. Essayez \\? pour l'aide-mémoire.\n" @@ -6996,6 +7106,9 @@ msgstr "" #~ msgid "column" #~ msgstr "colonne" +#~ msgid "constraint" +#~ msgstr "contrainte" + #~ msgid "contains support for command-line editing" #~ msgstr "contient une gestion avancée de la ligne de commande" @@ -7071,6 +7184,9 @@ msgstr "" #~ msgid "invalid binary \"%s\"" #~ msgstr "binaire « %s » invalide" +#~ msgid "local socket" +#~ msgstr "socket locale" + #~ msgid "lock a named relation (table, etc)" #~ msgstr "verrouille une relation nommée (table, etc)" @@ -7120,5 +7236,8 @@ msgstr "" #~ msgid "unterminated quoted string\n" #~ msgstr "chaîne entre guillemets non terminée\n" +#~ msgid "where constraint is:" +#~ msgstr "où la contrainte est :" + #~ msgid "where direction can be empty or one of:" #~ msgstr "où direction peut être vide ou faire partie de :" diff --git a/src/bin/scripts/po/fr.po b/src/bin/scripts/po/fr.po index 3e1b7ff38eab6..c65f1e8e0faea 100644 --- a/src/bin/scripts/po/fr.po +++ b/src/bin/scripts/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-29 17:19+0000\n" -"PO-Revision-Date: 2024-07-01 23:55+0200\n" +"POT-Creation-Date: 2024-08-23 14:21+0000\n" +"PO-Revision-Date: 2024-08-23 16:42+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.4\n" +"X-Generator: Poedit 3.4.4\n" #: ../../../src/common/logging.c:276 #, c-format @@ -54,6 +54,48 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" @@ -68,11 +110,11 @@ msgstr "l'utilisateur n'existe pas" msgid "user name lookup failure: error code %lu" msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Requête d'annulation envoyée\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "N'a pas pu envoyer la requête d'annulation : " @@ -100,6 +142,11 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + #: ../../fe_utils/parallel_slot.c:317 #, c-format msgid "too many jobs for this platform: %d" @@ -132,21 +179,26 @@ msgstr[1] "(%lu lignes)" msgid "Interrupted\n" msgstr "Interrompu\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Ne peut pas afficher le contenu de la table : le nombre de cellules %lld est égal à ou dépasse le maximum %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n" "%d est dépassé.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" msgstr "" "Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n" -"cellules %d est dépassé.\n" +"cellules %lld est dépassé.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "format de sortie invalide (erreur interne) : %d" @@ -161,36 +213,41 @@ msgstr "échec de la requête : %s" msgid "Query was: %s" msgstr "La requête était : %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299 +#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297 +#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: clusterdb.c:148 +#: clusterdb.c:149 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "ne peut pas réorganiser à la fois toutes les bases de données et une base spécifique via la commande CLUSTER" -#: clusterdb.c:151 -#, c-format -msgid "cannot cluster specific table(s) in all databases" -msgstr "ne peut pas réorganiser la(les) table(s) spécifique(s) dans toutes les bases de données" - -#: clusterdb.c:215 +#: clusterdb.c:214 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "la réorganisation de la table « %s » de la base de données « %s » avec la commande CLUSTER a échoué : %s" -#: clusterdb.c:218 +#: clusterdb.c:217 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "la réorganisation de la base de données « %s » via la commande CLUSTER a échoué : %s" @@ -200,7 +257,7 @@ msgstr "la réorganisation de la base de données « %s » via la commande CLUST msgid "%s: clustering database \"%s\"\n" msgstr "%s : réorganisation de la base de données « %s » via la commande CLUSTER\n" -#: clusterdb.c:264 +#: clusterdb.c:274 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -210,19 +267,19 @@ msgstr "" "base de données via la commande CLUSTER.\n" "\n" -#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156 +#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157 +#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [BASE]\n" -#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158 +#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149 #, c-format msgid "" "\n" @@ -231,48 +288,48 @@ msgstr "" "\n" "Options :\n" -#: clusterdb.c:268 +#: clusterdb.c:278 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all réorganise toutes les bases de données\n" -#: clusterdb.c:269 +#: clusterdb.c:279 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=BASE réorganise la base de données spécifiée\n" -#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: clusterdb.c:271 +#: clusterdb.c:281 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet n'écrit aucun message\n" -#: clusterdb.c:272 +#: clusterdb.c:282 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=TABLE réorganise uniquement la table spécifiée\n" -#: clusterdb.c:273 +#: clusterdb.c:283 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187 +#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178 #, c-format msgid "" "\n" @@ -281,39 +338,39 @@ msgstr "" "\n" "Options de connexion :\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188 +#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données ou\n" " répertoire des sockets\n" -#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189 +#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190 +#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191 +#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password empêche la demande d'un mot de passe\n" -#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192 +#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password force la demande d'un mot de passe\n" -#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193 +#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE indique une autre base par défaut\n" -#: clusterdb.c:283 +#: clusterdb.c:293 #, c-format msgid "" "\n" @@ -322,8 +379,8 @@ msgstr "" "\n" "Lire la description de la commande SQL CLUSTER pour de plus amples détails.\n" -#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195 +#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186 #, c-format msgid "" "\n" @@ -332,8 +389,8 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196 +#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" @@ -367,22 +424,22 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Merci de répondre « %s » ou « %s ».\n" -#: createdb.c:170 +#: createdb.c:175 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "« %s » n'est pas un nom d'encodage valide" -#: createdb.c:250 +#: createdb.c:260 #, c-format msgid "database creation failed: %s" msgstr "la création de la base de données a échoué : %s" -#: createdb.c:269 +#: createdb.c:279 #, c-format msgid "comment creation failed (database was created): %s" msgstr "l'ajout du commentaire a échoué (la base de données a été créée) : %s" -#: createdb.c:287 +#: createdb.c:297 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -391,120 +448,125 @@ msgstr "" "%s crée une base de données PostgreSQL.\n" "\n" -#: createdb.c:289 +#: createdb.c:299 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [OPTION]... [BASE] [DESCRIPTION]\n" -#: createdb.c:291 +#: createdb.c:301 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=TABLESPACE tablespace par défaut de la base de données\n" -#: createdb.c:292 reindexdb.c:756 +#: createdb.c:302 reindexdb.c:874 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: createdb.c:293 +#: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=ENCODAGE encodage de la base de données\n" -#: createdb.c:294 +#: createdb.c:304 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=LOCALE paramètre de la locale pour la base de données\n" -#: createdb.c:295 +#: createdb.c:305 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=LOCALE paramètre LC_COLLATE pour la base de données\n" -#: createdb.c:296 +#: createdb.c:306 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=LOCALE paramètre LC_CTYPE pour la base de données\n" -#: createdb.c:297 +#: createdb.c:307 +#, c-format +msgid " --builtin-locale=LOCALE builtin locale setting for the database\n" +msgstr " --builtin-locale=LOCALE paramètre de la locale native pour la base de données\n" + +#: createdb.c:308 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOCALE paramètre de la locale ICU pour la base de données\n" -#: createdb.c:298 +#: createdb.c:309 #, c-format msgid " --icu-rules=RULES ICU rules setting for the database\n" msgstr " --icu-rules=RÈGLES configuration des règles ICU pour la base de données\n" -#: createdb.c:299 +#: createdb.c:310 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " locale provider for the database's default collation\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " fournisseur de locale pour la collation par défaut de la base de données\n" -#: createdb.c:301 +#: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr "" " -O, --owner=PROPRIÉTAIRE nom du propriétaire de la nouvelle base de\n" " données\n" -#: createdb.c:302 +#: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr " -S, --strategy=STRATEGIE stratégie de création de base (wal_log ou file_copy)\n" -#: createdb.c:303 +#: createdb.c:314 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=MODÈLE base de données modèle à copier\n" -#: createdb.c:304 reindexdb.c:765 +#: createdb.c:315 reindexdb.c:883 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: createdb.c:305 reindexdb.c:766 +#: createdb.c:316 reindexdb.c:884 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: createdb.c:307 reindexdb.c:768 +#: createdb.c:318 reindexdb.c:886 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données\n" " ou répertoire des sockets\n" -#: createdb.c:308 reindexdb.c:769 +#: createdb.c:319 reindexdb.c:887 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: createdb.c:309 reindexdb.c:770 +#: createdb.c:320 reindexdb.c:888 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: createdb.c:310 reindexdb.c:771 +#: createdb.c:321 reindexdb.c:889 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password empêche la demande d'un mot de passe\n" -#: createdb.c:311 reindexdb.c:772 +#: createdb.c:322 reindexdb.c:890 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password force la demande d'un mot de passe\n" -#: createdb.c:312 reindexdb.c:773 +#: createdb.c:323 reindexdb.c:891 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE indique une autre base par défaut\n" -#: createdb.c:313 +#: createdb.c:324 #, c-format msgid "" "\n" @@ -903,94 +965,54 @@ msgstr "" msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: reindexdb.c:209 -#, c-format -msgid "cannot reindex all databases and a specific one at the same time" -msgstr "ne peut pas réindexer toutes les bases de données et une base spécifique en même temps" - -#: reindexdb.c:211 -#, c-format -msgid "cannot reindex all databases and system catalogs at the same time" -msgstr "ne peut pas réindexer toutes les bases de données et les catalogues système en même temps" - -#: reindexdb.c:213 -#, c-format -msgid "cannot reindex specific schema(s) in all databases" -msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) dans toutes les bases de données" - -#: reindexdb.c:215 -#, c-format -msgid "cannot reindex specific table(s) in all databases" -msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) dans toutes les bases de données" - -#: reindexdb.c:217 -#, c-format -msgid "cannot reindex specific index(es) in all databases" -msgstr "ne peut pas réindexer un (des) index spécifique(s) dans toutes les bases de données" - -#: reindexdb.c:227 -#, c-format -msgid "cannot reindex specific schema(s) and system catalogs at the same time" -msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) et les catalogues système en même temps" - -#: reindexdb.c:229 -#, c-format -msgid "cannot reindex specific table(s) and system catalogs at the same time" -msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) etles catalogues système en même temps" - -#: reindexdb.c:231 -#, c-format -msgid "cannot reindex specific index(es) and system catalogs at the same time" -msgstr "ne peut pas réindexer un (des) index spécifique(s) et les catalogues système en même temps" - -#: reindexdb.c:234 +#: reindexdb.c:210 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les catalogues systèmes" -#: reindexdb.c:260 +#: reindexdb.c:215 #, c-format -msgid "cannot use multiple jobs to reindex indexes" -msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les index" +msgid "cannot reindex all databases and a specific one at the same time" +msgstr "ne peut pas réindexer toutes les bases de données et une base spécifique en même temps" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539 -#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572 -#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584 +#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529 +#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562 +#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574 #, c-format msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "ne peut utiliser l'option « %s » sur des versions serveurs plus anciennes que PostgreSQL %s" -#: reindexdb.c:561 +#: reindexdb.c:584 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "la réindexation de la base de données « %s » a échoué : %s" -#: reindexdb.c:565 +#: reindexdb.c:588 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "la réindexation de l'index « %s » dans la base de données « %s » a échoué : %s" -#: reindexdb.c:569 +#: reindexdb.c:592 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "la réindexation du schéma « %s » dans la base de données « %s » a échoué : %s" -#: reindexdb.c:573 +#: reindexdb.c:596 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "la réindexation des catalogues systèmes dans la base de données « %s » a échoué : %s" -#: reindexdb.c:577 +#: reindexdb.c:600 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "la réindexation de la table « %s » dans la base de données « %s » a échoué : %s" -#: reindexdb.c:732 +#: reindexdb.c:824 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s : réindexation de la base de données « %s »\n" -#: reindexdb.c:749 +#: reindexdb.c:867 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -999,66 +1021,66 @@ msgstr "" "%s réindexe une base de données PostgreSQL.\n" "\n" -#: reindexdb.c:753 +#: reindexdb.c:871 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all réindexe toutes les bases de données\n" -#: reindexdb.c:754 +#: reindexdb.c:872 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " --concurrently réindexation en concurrence\n" -#: reindexdb.c:755 +#: reindexdb.c:873 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=BASE réindexe la base de données spécifiée\n" -#: reindexdb.c:757 +#: reindexdb.c:875 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=INDEX réindexe uniquement l'index spécifié\n" -#: reindexdb.c:758 +#: reindexdb.c:876 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de connexions concurrentes\n" " pour l'opération de réindexation\n" -#: reindexdb.c:759 +#: reindexdb.c:877 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet n'écrit aucun message\n" -#: reindexdb.c:760 +#: reindexdb.c:878 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system réindexe seulement les catalogues système\n" -#: reindexdb.c:761 +#: reindexdb.c:879 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=SCHÉMA réindexe uniquement le schéma spécifié\n" -#: reindexdb.c:762 +#: reindexdb.c:880 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABLE réindexe uniquement la table spécifiée\n" -#: reindexdb.c:763 +#: reindexdb.c:881 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr "" " --tablespace=TABLESPACE précise le tablespace où les index seront\n" " reconstruits\n" -#: reindexdb.c:764 +#: reindexdb.c:882 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: reindexdb.c:774 +#: reindexdb.c:892 #, c-format msgid "" "\n" @@ -1067,95 +1089,80 @@ msgstr "" "\n" "Lire la description de la commande SQL REINDEX pour plus d'informations.\n" -#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324 -#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342 +#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325 +#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "ne peut pas utiliser l'option « %s » lors de l'exécution d'un ANALYZE seul" -#: vacuumdb.c:345 +#: vacuumdb.c:346 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "ne peut pas utiliser l'option « %s » lors de l'exécution d'un VACUUM FULL" -#: vacuumdb.c:351 vacuumdb.c:359 +#: vacuumdb.c:352 vacuumdb.c:360 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "ne peut pas utiliser l'option « %s » lors de l'option « %s »" -#: vacuumdb.c:430 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "ne peut pas exécuter VACUUM sur toutes les bases de données et sur une base spécifique en même temps" -#: vacuumdb.c:434 -#, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "ne peut pas exécuter VACUUM sur une(des) table(s) spécifique(s) dans toutes les bases de données" - -#: vacuumdb.c:438 -#, c-format -msgid "cannot vacuum specific schema(s) in all databases" -msgstr "ne peut pas exécuter VACUUM sur les schémas spécifiques dans toutes les bases de données" - -#: vacuumdb.c:442 -#, c-format -msgid "cannot exclude specific schema(s) in all databases" -msgstr "ne peut pas exclure des schémas dans toutes les bases de données" - -#: vacuumdb.c:446 +#: vacuumdb.c:436 #, c-format msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time" msgstr "ne peut pas exécuter VACUUM sur toutes les tables des schémas et sur des tables spécifiques en même temps" -#: vacuumdb.c:450 +#: vacuumdb.c:440 #, c-format msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" msgstr "ne peut pas exécuter VACUUM sur des tables spécifiques et exclure des schémas en même temps" -#: vacuumdb.c:454 +#: vacuumdb.c:444 #, c-format msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" msgstr "ne peut pas exécuter VACUUM sur toutes les tables et exclure des schémas en même temps" -#: vacuumdb.c:467 +#: vacuumdb.c:457 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: vacuumdb.c:512 +#: vacuumdb.c:502 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Génération de statistiques minimales pour l'optimiseur (une cible)" -#: vacuumdb.c:513 +#: vacuumdb.c:503 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Génération de statistiques moyennes pour l'optimiseur (dix cibles)" -#: vacuumdb.c:514 +#: vacuumdb.c:504 msgid "Generating default (full) optimizer statistics" msgstr "Génération de statistiques complètes pour l'optimiseur" -#: vacuumdb.c:593 +#: vacuumdb.c:583 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s : traitement de la base de données « %s » %s\n" -#: vacuumdb.c:596 +#: vacuumdb.c:586 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s : exécution de VACUUM sur la base de données « %s »\n" -#: vacuumdb.c:1144 +#: vacuumdb.c:1135 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "l'exécution de VACUUM sur la table « %s » dans la base de données « %s » a échoué : %s" -#: vacuumdb.c:1147 +#: vacuumdb.c:1138 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "l'exécution de VACUUM sur la base de données « %s » a échoué : %s" -#: vacuumdb.c:1155 +#: vacuumdb.c:1146 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1164,154 +1171,154 @@ msgstr "" "%s nettoie et analyse une base de données PostgreSQL.\n" "\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1150 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all exécute VACUUM sur toutes les bases de données\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1151 #, c-format msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" msgstr " --buffer-usage-limit=TAILLE taille du buffer spécialisé pour VACUUM\n" -#: vacuumdb.c:1161 +#: vacuumdb.c:1152 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=BASE exécute VACUUM sur cette base de données\n" -#: vacuumdb.c:1162 +#: vacuumdb.c:1153 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping désactive le comportement page-skipping\n" -#: vacuumdb.c:1163 +#: vacuumdb.c:1154 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: vacuumdb.c:1164 +#: vacuumdb.c:1155 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full exécute VACUUM en mode FULL\n" -#: vacuumdb.c:1165 +#: vacuumdb.c:1156 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr "" " -F, --freeze gèle les informations de transactions des\n" " lignes\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1157 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" msgstr "" " --force-index-cleanup supprime toujours les enregistrements dans\n" " l'index pointant vers des lignes mortes\n" -#: vacuumdb.c:1167 +#: vacuumdb.c:1158 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de connexions concurrentes\n" " pour le VACUUM\n" -#: vacuumdb.c:1168 +#: vacuumdb.c:1159 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" msgstr "" " --min-mxid-age=MXID_AGE âge minimum des identifiants de\n" " multitransactions pour les tables à nettoyer\n" -#: vacuumdb.c:1169 +#: vacuumdb.c:1160 #, c-format msgid " --min-xid-age=XID_AGE minimum transaction ID age of tables to vacuum\n" msgstr "" " --min-xid-age=XID_AGE âge minimum des identifiants de transactions\n" " pour les tables à nettoyer\n" -#: vacuumdb.c:1170 +#: vacuumdb.c:1161 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" msgstr "" " --no-index-cleanup ne supprime pas les enregistrements dans\n" " l'index pointant vers des lignes mortes\n" -#: vacuumdb.c:1171 +#: vacuumdb.c:1162 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main ignore la relation principale\n" -#: vacuumdb.c:1172 +#: vacuumdb.c:1163 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" msgstr "" " --no-process-toast ignore la table TOAST associée à la table à\n" " traiter\n" -#: vacuumdb.c:1173 +#: vacuumdb.c:1164 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" msgstr "" " --no-truncate ne supprime pas les pages vides à la fin de\n" " la table\n" -#: vacuumdb.c:1174 +#: vacuumdb.c:1165 #, c-format msgid " -n, --schema=SCHEMA vacuum tables in the specified schema(s) only\n" msgstr " -n, --schema=MOTIF exécute VACUUM uniquement sur les tables des schémas indiqués\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1166 #, c-format msgid " -N, --exclude-schema=SCHEMA do not vacuum tables in the specified schema(s)\n" msgstr " -N, --exclude-schema=MOTIF n'exécute pas VACUUM sur les tables des schémas indiqués\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1167 #, c-format msgid " -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n" msgstr "" " -P, --parallel=NOMBRE utilise ce nombre de processus en tâche de\n" " fond pour le VACUUM, si possible\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1168 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet n'écrit aucun message\n" -#: vacuumdb.c:1178 +#: vacuumdb.c:1169 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" msgstr "" " --skip-locked ignore les relations qui ne peuvent pas être\n" " verrouillées immédiatement\n" -#: vacuumdb.c:1179 +#: vacuumdb.c:1170 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr " -t, --table='TABLE[(COLONNES)]' exécute VACUUM sur cette table\n" -#: vacuumdb.c:1180 +#: vacuumdb.c:1171 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: vacuumdb.c:1181 +#: vacuumdb.c:1172 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: vacuumdb.c:1182 +#: vacuumdb.c:1173 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze met à jour les statistiques de l'optimiseur\n" -#: vacuumdb.c:1183 +#: vacuumdb.c:1174 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" msgstr "" " -Z, --analyze-only met seulement à jour les statistiques de\n" " l'optimiseur ; pas de VACUUM\n" -#: vacuumdb.c:1184 +#: vacuumdb.c:1175 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" @@ -1321,12 +1328,12 @@ msgstr "" " l'optimiseur, en plusieurs étapes pour de\n" " meilleurs résultats ; pas de VACUUM\n" -#: vacuumdb.c:1186 +#: vacuumdb.c:1177 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: vacuumdb.c:1194 +#: vacuumdb.c:1185 #, c-format msgid "" "\n" @@ -1481,10 +1488,58 @@ msgstr "" #~ msgid "Try \"%s --help\" for more information.\n" #~ msgstr "Essayer « %s --help » pour plus d'informations.\n" +#, c-format +#~ msgid "cannot cluster specific table(s) in all databases" +#~ msgstr "ne peut pas réorganiser la(les) table(s) spécifique(s) dans toutes les bases de données" + +#, c-format +#~ msgid "cannot exclude specific schema(s) in all databases" +#~ msgstr "ne peut pas exclure des schémas dans toutes les bases de données" + +#, c-format +#~ msgid "cannot reindex all databases and system catalogs at the same time" +#~ msgstr "ne peut pas réindexer toutes les bases de données et les catalogues système en même temps" + +#, c-format +#~ msgid "cannot reindex specific index(es) and system catalogs at the same time" +#~ msgstr "ne peut pas réindexer un (des) index spécifique(s) et les catalogues système en même temps" + +#, c-format +#~ msgid "cannot reindex specific index(es) in all databases" +#~ msgstr "ne peut pas réindexer un (des) index spécifique(s) dans toutes les bases de données" + +#, c-format +#~ msgid "cannot reindex specific schema(s) and system catalogs at the same time" +#~ msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) et les catalogues système en même temps" + +#, c-format +#~ msgid "cannot reindex specific schema(s) in all databases" +#~ msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) dans toutes les bases de données" + +#, c-format +#~ msgid "cannot reindex specific table(s) and system catalogs at the same time" +#~ msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) etles catalogues système en même temps" + +#, c-format +#~ msgid "cannot reindex specific table(s) in all databases" +#~ msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) dans toutes les bases de données" + #, c-format #~ msgid "cannot reindex system catalogs concurrently, skipping all" #~ msgstr "ne peut pas réindexer les catalogues système de manière concurrente, ignore tout" +#, c-format +#~ msgid "cannot use multiple jobs to reindex indexes" +#~ msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les index" + +#, c-format +#~ msgid "cannot vacuum specific schema(s) in all databases" +#~ msgstr "ne peut pas exécuter VACUUM sur les schémas spécifiques dans toutes les bases de données" + +#, c-format +#~ msgid "cannot vacuum specific table(s) in all databases" +#~ msgstr "ne peut pas exécuter VACUUM sur une(des) table(s) spécifique(s) dans toutes les bases de données" + #~ msgid "could not connect to database %s: %s" #~ msgstr "n'a pas pu se connecter à la base de données %s : %s" diff --git a/src/bin/scripts/po/ka.po b/src/bin/scripts/po/ka.po index 5ac10ae07046e..e3e01f6a9ceb2 100644 --- a/src/bin/scripts/po/ka.po +++ b/src/bin/scripts/po/ka.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2024-06-14 02:21+0000\n" -"PO-Revision-Date: 2024-06-14 06:16+0200\n" +"PO-Revision-Date: 2024-08-08 15:28+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -341,7 +341,7 @@ msgstr " -p, --port=PORT მონაცემთა ბაზის #: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" -msgstr " -U, --username=მომხმარებელი ბაზის მომხმარებლის სახელი\n" +msgstr " -U, --username=მომხმარებ. ბაზის მომხმარებლის სახელი\n" #: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format @@ -454,7 +454,7 @@ msgstr " -e, --echo-queries სერვერზე გაგზავ #: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" -msgstr " \\encoding [კოდირება] კლიენტის კოდირების ჩვენება ან დაყენება\n" +msgstr " \\encoding [კოდირება] კლიენტის კოდირების ჩვენება ან დაყენება\n" #: createdb.c:304 #, c-format @@ -498,12 +498,12 @@ msgstr "" #: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" -msgstr " -O, --owner=მფლობელი ახალი ბაზის მფლობელი მომხმარებლის სახელი\n" +msgstr " -O, --owner=მფლობელი ახალი ბაზის მფლობელი მომხმარებლის სახელი\n" #: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" -msgstr " -S, --strategy=სტრატეგია ბაზის შექმნის სტრატეგია: wal_log ან file_copy\n" +msgstr " -S, --strategy=სტრატეგია ბაზის შექმნის სტრატეგია: wal_log ან file_copy\n" #: createdb.c:314 #, c-format diff --git a/src/pl/plperl/po/fr.po b/src/pl/plperl/po/fr.po index fcb6d67fa051a..7563583224e05 100644 --- a/src/pl/plperl/po/fr.po +++ b/src/pl/plperl/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-22 10:09+0000\n" +"PO-Revision-Date: 2024-08-23 11:40+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,226 +19,226 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.4\n" -#: plperl.c:408 +#: plperl.c:405 msgid "If true, trusted and untrusted Perl code will be compiled in strict mode." msgstr "" "Si true, le code Perl de confiance et sans confiance sera compilé en mode\n" "strict." -#: plperl.c:422 +#: plperl.c:419 msgid "Perl initialization code to execute when a Perl interpreter is initialized." msgstr "" "Code d'initialisation Perl à exécuter lorsque un interpréteur Perl est\n" "initialisé." -#: plperl.c:444 +#: plperl.c:441 msgid "Perl initialization code to execute once when plperl is first used." msgstr "Code d'initialisation Perl à exécuter lorsque plperl est utilisé pour la première fois." -#: plperl.c:452 +#: plperl.c:449 msgid "Perl initialization code to execute once when plperlu is first used." msgstr "Code d'initialisation Perl à exécuter lorsque plperlu est utilisé pour la première fois." -#: plperl.c:646 +#: plperl.c:643 #, c-format msgid "cannot allocate multiple Perl interpreters on this platform" msgstr "ne peut pas allouer plusieurs interpréteurs Perl sur cette plateforme" -#: plperl.c:669 plperl.c:853 plperl.c:859 plperl.c:976 plperl.c:988 -#: plperl.c:1031 plperl.c:1054 plperl.c:2138 plperl.c:2246 plperl.c:2314 -#: plperl.c:2377 +#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985 +#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327 +#: plperl.c:2390 #, c-format msgid "%s" msgstr "%s" -#: plperl.c:670 +#: plperl.c:667 #, c-format msgid "while executing PostgreSQL::InServer::SPI::bootstrap" msgstr "lors de l'exécution de PostgreSQL::InServer::SPI::bootstrap" -#: plperl.c:854 +#: plperl.c:851 #, c-format msgid "while parsing Perl initialization" msgstr "lors de l'analyse de l'initialisation de perl" -#: plperl.c:860 +#: plperl.c:857 #, c-format msgid "while running Perl initialization" msgstr "lors de l'exécution de l'initialisation de perl" -#: plperl.c:977 +#: plperl.c:974 #, c-format msgid "while executing PLC_TRUSTED" msgstr "lors de l'exécution de PLC_TRUSTED" -#: plperl.c:989 +#: plperl.c:986 #, c-format msgid "while executing utf8fix" msgstr "lors de l'exécution de utf8fix" -#: plperl.c:1032 +#: plperl.c:1029 #, c-format msgid "while executing plperl.on_plperl_init" msgstr "lors de l'exécution de plperl.on_plperl_init" -#: plperl.c:1055 +#: plperl.c:1052 #, c-format msgid "while executing plperl.on_plperlu_init" msgstr "lors de l'exécution de plperl.on_plperlu_init" -#: plperl.c:1101 plperl.c:1791 +#: plperl.c:1098 plperl.c:1804 #, c-format msgid "Perl hash contains nonexistent column \"%s\"" msgstr "Le hachage Perl contient la colonne « %s » inexistante" -#: plperl.c:1106 plperl.c:1796 +#: plperl.c:1103 plperl.c:1809 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "ne peut pas initialiser l'attribut système « %s »" -#: plperl.c:1194 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)" - -#: plperl.c:1206 plperl.c:1223 +#: plperl.c:1199 plperl.c:1214 plperl.c:1231 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "" "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n" "avec les dimensions correspondantes" -#: plperl.c:1259 +#: plperl.c:1204 +#, c-format +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "le nombre de dimensions du tableau dépasse le maximum autorisé (%d)" + +#: plperl.c:1274 #, c-format msgid "cannot convert Perl array to non-array type %s" msgstr "ne peut pas convertir le tableau Perl en un type %s qui n'est pas un tableau" -#: plperl.c:1362 +#: plperl.c:1375 #, c-format msgid "cannot convert Perl hash to non-composite type %s" msgstr "ne peut pas convertir le hachage Perl en un type %s non composite" -#: plperl.c:1384 plperl.c:3304 +#: plperl.c:1397 plperl.c:3315 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "" "fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n" "accepter le type record" -#: plperl.c:1445 +#: plperl.c:1458 #, c-format msgid "lookup failed for type %s" msgstr "recherche échouée pour le type %s" -#: plperl.c:1766 +#: plperl.c:1779 #, c-format msgid "$_TD->{new} does not exist" msgstr "$_TD->{new} n'existe pas" -#: plperl.c:1770 +#: plperl.c:1783 #, c-format msgid "$_TD->{new} is not a hash reference" msgstr "$_TD->{new} n'est pas une référence de hachage" -#: plperl.c:1801 +#: plperl.c:1814 #, c-format msgid "cannot set generated column \"%s\"" msgstr "ne peut pas initialiser la colonne générée « %s »" -#: plperl.c:2013 plperl.c:2854 +#: plperl.c:2026 plperl.c:2867 #, c-format msgid "PL/Perl functions cannot return type %s" msgstr "Les fonctions PL/perl ne peuvent pas renvoyer le type %s" -#: plperl.c:2026 plperl.c:2893 +#: plperl.c:2039 plperl.c:2906 #, c-format msgid "PL/Perl functions cannot accept type %s" msgstr "Les fonctions PL/perl ne peuvent pas accepter le type %s" -#: plperl.c:2143 +#: plperl.c:2156 #, c-format msgid "didn't get a CODE reference from compiling function \"%s\"" msgstr "n'a pas obtenu une référence CODE lors de la compilation de la fonction « %s »" -#: plperl.c:2234 +#: plperl.c:2247 #, c-format msgid "didn't get a return item from function" msgstr "n'a pas obtenu un élément en retour de la fonction" -#: plperl.c:2278 plperl.c:2345 +#: plperl.c:2291 plperl.c:2358 #, c-format msgid "couldn't fetch $_TD" msgstr "n'a pas pu récupérer $_TD" -#: plperl.c:2302 plperl.c:2365 +#: plperl.c:2315 plperl.c:2378 #, c-format msgid "didn't get a return item from trigger function" msgstr "n'a pas obtenu un élément en retour de la fonction trigger" -#: plperl.c:2423 +#: plperl.c:2436 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" -#: plperl.c:2428 +#: plperl.c:2441 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" -#: plperl.c:2472 +#: plperl.c:2485 #, c-format msgid "set-returning PL/Perl function must return reference to array or use return_next" msgstr "" "la fonction PL/perl renvoyant des ensembles doit renvoyer la référence à\n" "un tableau ou utiliser return_next" -#: plperl.c:2593 +#: plperl.c:2606 #, c-format msgid "ignoring modified row in DELETE trigger" msgstr "ignore la ligne modifiée dans le trigger DELETE" -#: plperl.c:2601 +#: plperl.c:2614 #, c-format msgid "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\"" msgstr "" "le résultat de la fonction trigger PL/perl doit être undef, « SKIP » ou\n" "« MODIFY »" -#: plperl.c:2849 +#: plperl.c:2862 #, c-format msgid "trigger functions can only be called as triggers" msgstr "les fonctions trigger peuvent seulement être appelées par des triggers" -#: plperl.c:3209 +#: plperl.c:3220 #, c-format msgid "query result has too many rows to fit in a Perl array" msgstr "le résultat de la requête contient trop de lignes pour être intégré dans un tableau Perl" -#: plperl.c:3281 +#: plperl.c:3292 #, c-format msgid "cannot use return_next in a non-SETOF function" msgstr "ne peut pas utiliser return_next dans une fonction non SETOF" -#: plperl.c:3355 +#: plperl.c:3366 #, c-format msgid "SETOF-composite-returning PL/Perl function must call return_next with reference to hash" msgstr "" "une fonction PL/perl renvoyant des lignes composites doit appeler\n" "return_next avec la référence à un hachage" -#: plperl.c:4137 +#: plperl.c:4148 #, c-format msgid "PL/Perl function \"%s\"" msgstr "fonction PL/Perl « %s »" -#: plperl.c:4149 +#: plperl.c:4160 #, c-format msgid "compilation of PL/Perl function \"%s\"" msgstr "compilation de la fonction PL/Perl « %s »" -#: plperl.c:4158 +#: plperl.c:4169 #, c-format msgid "PL/Perl anonymous code block" msgstr "bloc de code PL/Perl anonyme" @@ -257,6 +257,10 @@ msgstr "bloc de code PL/Perl anonyme" #~ msgid "error from Perl function \"%s\": %s" #~ msgstr "échec dans la fonction Perl « %s » : %s" +#, c-format +#~ msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" +#~ msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)" + #~ msgid "out of memory" #~ msgstr "mémoire épuisée" diff --git a/src/pl/plpgsql/src/po/fr.po b/src/pl/plpgsql/src/po/fr.po index 19676ff681cb8..2d386e4be06be 100644 --- a/src/pl/plpgsql/src/po/fr.po +++ b/src/pl/plpgsql/src/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-22 10:09+0000\n" +"PO-Revision-Date: 2024-08-23 11:42+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,161 +19,176 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.4\n" -#: pl_comp.c:438 pl_handler.c:496 +#: pl_comp.c:434 pl_handler.c:496 #, c-format msgid "PL/pgSQL functions cannot accept type %s" msgstr "les fonctions PL/pgSQL ne peuvent pas accepter le type %s" -#: pl_comp.c:530 +#: pl_comp.c:526 #, c-format msgid "could not determine actual return type for polymorphic function \"%s\"" msgstr "n'a pas pu déterminer le type de retour pour la fonction polymorphique « %s »" -#: pl_comp.c:560 +#: pl_comp.c:556 #, c-format msgid "trigger functions can only be called as triggers" msgstr "les fonctions trigger peuvent seulement être appelées par des triggers" -#: pl_comp.c:564 pl_handler.c:480 +#: pl_comp.c:560 pl_handler.c:480 #, c-format msgid "PL/pgSQL functions cannot return type %s" msgstr "les fonctions PL/pgSQL ne peuvent pas renvoyer le type %s" -#: pl_comp.c:604 +#: pl_comp.c:600 #, c-format msgid "trigger functions cannot have declared arguments" msgstr "les fonctions triggers ne peuvent pas avoir d'arguments déclarés" -#: pl_comp.c:605 +#: pl_comp.c:601 #, c-format msgid "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead." msgstr "À la place, on peut accéder aux arguments du trigger par TG_NARGS et TG_ARGV." -#: pl_comp.c:738 +#: pl_comp.c:734 #, c-format msgid "event trigger functions cannot have declared arguments" msgstr "les fonctions triggers sur événement ne peuvent pas avoir des arguments déclarés" -#: pl_comp.c:1002 +#: pl_comp.c:998 #, c-format msgid "compilation of PL/pgSQL function \"%s\" near line %d" msgstr "compilation de la fonction PL/pgSQL « %s » près de la ligne %d" -#: pl_comp.c:1025 +#: pl_comp.c:1021 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "le nom du paramètre « %s » est utilisé plus d'une fois" -#: pl_comp.c:1139 +#: pl_comp.c:1135 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "la référence à la colonne « %s » est ambigüe" -#: pl_comp.c:1141 +#: pl_comp.c:1137 #, c-format msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Cela pourrait faire référence à une variable PL/pgSQL ou à la colonne d'une table." -#: pl_comp.c:1324 pl_exec.c:5216 pl_exec.c:5389 pl_exec.c:5476 pl_exec.c:5567 -#: pl_exec.c:6588 +#: pl_comp.c:1314 pl_exec.c:5260 pl_exec.c:5433 pl_exec.c:5520 pl_exec.c:5611 +#: pl_exec.c:6636 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "l'enregistrement « %s » n'a pas de champs « %s »" -#: pl_comp.c:1818 +#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 +#, c-format +msgid "variable \"%s\" does not exist" +msgstr "la variable « %s » n'existe pas" + +#: pl_comp.c:1722 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "la colonne « %s » de la relation « %s » n'existe pas" + +#: pl_comp.c:1775 #, c-format msgid "relation \"%s\" does not exist" msgstr "la relation « %s » n'existe pas" -#: pl_comp.c:1825 pl_comp.c:1867 +#: pl_comp.c:1782 pl_comp.c:1820 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "la relation « %s » n'a pas un type composite" -#: pl_comp.c:1933 +#: pl_comp.c:1886 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "la variable « %s » a le pseudo-type %s" -#: pl_comp.c:2122 +#: pl_comp.c:2075 #, c-format msgid "type \"%s\" is only a shell" msgstr "le type « %s » n'est qu'une coquille" -#: pl_comp.c:2204 pl_exec.c:6889 +#: pl_comp.c:2157 pl_exec.c:6937 #, c-format msgid "type %s is not composite" msgstr "le type %s n'est pas un type composite" -#: pl_comp.c:2252 pl_comp.c:2305 +#: pl_comp.c:2193 +#, c-format +msgid "could not find array type for data type %s" +msgstr "n'a pas pu trouver de type tableau pour le type de données %s" + +#: pl_comp.c:2232 pl_comp.c:2285 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "condition d'exception non reconnue « %s »" -#: pl_comp.c:2526 +#: pl_comp.c:2514 #, c-format msgid "could not determine actual argument type for polymorphic function \"%s\"" msgstr "n'a pas pu déterminer le type d'argument pour la fonction polymorphique « %s »" -#: pl_exec.c:500 pl_exec.c:939 pl_exec.c:1174 +#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186 msgid "during initialization of execution state" msgstr "durant l'initialisation de l'état de la fonction" -#: pl_exec.c:506 +#: pl_exec.c:518 msgid "while storing call arguments into local variables" msgstr "lors du stockage des arguments dans les variables locales" -#: pl_exec.c:594 pl_exec.c:1012 +#: pl_exec.c:606 pl_exec.c:1024 msgid "during function entry" msgstr "durant l'entrée d'une fonction" -#: pl_exec.c:617 +#: pl_exec.c:629 #, c-format msgid "control reached end of function without RETURN" msgstr "le contrôle a atteint la fin de la fonction sans RETURN" -#: pl_exec.c:623 +#: pl_exec.c:635 msgid "while casting return value to function's return type" msgstr "lors de la conversion de la valeur de retour au type de retour de la fonction" -#: pl_exec.c:635 pl_exec.c:3656 +#: pl_exec.c:647 pl_exec.c:3683 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" -#: pl_exec.c:640 pl_exec.c:3662 +#: pl_exec.c:652 pl_exec.c:3689 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" -#: pl_exec.c:767 pl_exec.c:1038 pl_exec.c:1196 +#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208 msgid "during function exit" msgstr "lors de la sortie de la fonction" -#: pl_exec.c:822 pl_exec.c:886 pl_exec.c:3455 +#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3482 msgid "returned record type does not match expected record type" msgstr "le type d'enregistrement renvoyé ne correspond pas au type d'enregistrement attendu" -#: pl_exec.c:1035 pl_exec.c:1193 +#: pl_exec.c:1047 pl_exec.c:1205 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "le contrôle a atteint la fin de la procédure trigger sans RETURN" -#: pl_exec.c:1043 +#: pl_exec.c:1055 #, c-format msgid "trigger procedure cannot return a set" msgstr "une procédure trigger ne peut pas renvoyer un ensemble" -#: pl_exec.c:1082 pl_exec.c:1110 +#: pl_exec.c:1094 pl_exec.c:1122 msgid "returned row structure does not match the structure of the triggering table" msgstr "la structure de ligne renvoyée ne correspond pas à la structure de la table du trigger" #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1251 +#: pl_exec.c:1263 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "fonction PL/pgSQL %s, ligne %d, %s" @@ -181,49 +196,49 @@ msgstr "fonction PL/pgSQL %s, ligne %d, %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1262 +#: pl_exec.c:1274 #, c-format msgid "PL/pgSQL function %s %s" msgstr "fonction PL/pgSQL %s, %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1270 +#: pl_exec.c:1282 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "fonction PL/pgSQL %s, ligne %d à %s" -#: pl_exec.c:1276 +#: pl_exec.c:1288 #, c-format msgid "PL/pgSQL function %s" msgstr "fonction PL/pgSQL %s" -#: pl_exec.c:1647 +#: pl_exec.c:1659 msgid "during statement block local variable initialization" msgstr "lors de l'initialisation des variables locales du bloc d'instructions" -#: pl_exec.c:1752 +#: pl_exec.c:1764 msgid "during statement block entry" msgstr "lors de l'entrée dans le bloc d'instructions" -#: pl_exec.c:1784 +#: pl_exec.c:1796 msgid "during statement block exit" msgstr "lors de la sortie du bloc d'instructions" -#: pl_exec.c:1822 +#: pl_exec.c:1834 msgid "during exception cleanup" msgstr "lors du nettoyage de l'exception" -#: pl_exec.c:2355 +#: pl_exec.c:2370 #, c-format msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable" msgstr "le paramètre de la procédure « %s » est un argument en sortie mais l'argument correspondant n'est pas modifiable" -#: pl_exec.c:2360 +#: pl_exec.c:2375 #, c-format msgid "procedure parameter %d is an output parameter but corresponding argument is not writable" msgstr "le paramètre de la procédure %d est un paramètre en sortie mais l'argument correspondant n'est pas modifiable" -#: pl_exec.c:2394 +#: pl_exec.c:2411 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "GET STACKED DIAGNOSTICS ne peut pas être utilisé à l'extérieur d'un gestionnaire d'exception" @@ -234,288 +249,293 @@ msgstr "GET STACKED DIAGNOSTICS ne peut pas être utilisé à l'extérieur d'un # (errcode(ERRCODE_CASE_NOT_FOUND), # errmsg("case not found"), # errhint("CASE statement is missing ELSE part."))); -#: pl_exec.c:2594 +#: pl_exec.c:2617 #, c-format msgid "case not found" msgstr "cas introuvable" -#: pl_exec.c:2595 +#: pl_exec.c:2618 #, c-format msgid "CASE statement is missing ELSE part." msgstr "l'instruction CASE n'a pas de partie ELSE." -#: pl_exec.c:2688 +#: pl_exec.c:2711 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "la limite inférieure d'une boucle FOR ne peut pas être NULL" -#: pl_exec.c:2704 +#: pl_exec.c:2727 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "la limite supérieure de la boucle FOR ne peut pas être NULL" -#: pl_exec.c:2722 +#: pl_exec.c:2745 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "la valeur BY d'une boucle FOR ne peut pas être NULL" -#: pl_exec.c:2728 +#: pl_exec.c:2751 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "la valeur BY d'une boucle FOR doit être plus grande que zéro" -#: pl_exec.c:2862 pl_exec.c:4658 +#: pl_exec.c:2885 pl_exec.c:4693 #, c-format msgid "cursor \"%s\" already in use" msgstr "curseur « %s » déjà en cours d'utilisation" -#: pl_exec.c:2885 pl_exec.c:4723 +#: pl_exec.c:2908 pl_exec.c:4763 #, c-format msgid "arguments given for cursor without arguments" msgstr "arguments fournis pour un curseur sans argument" -#: pl_exec.c:2904 pl_exec.c:4742 +#: pl_exec.c:2927 pl_exec.c:4782 #, c-format msgid "arguments required for cursor" msgstr "arguments requis pour le curseur" -#: pl_exec.c:2991 +#: pl_exec.c:3018 #, c-format msgid "FOREACH expression must not be null" msgstr "l'expression FOREACH ne doit pas être NULL" -#: pl_exec.c:3006 +#: pl_exec.c:3033 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "l'expression FOREACH doit renvoyer un tableau, pas un type %s" -#: pl_exec.c:3023 +#: pl_exec.c:3050 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "la dimension de la partie (%d) est en dehors des valeurs valides (0..%d)" -#: pl_exec.c:3050 +#: pl_exec.c:3077 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "la variable d'une boucle FOREACH ... SLICE doit être d'un type tableau" -#: pl_exec.c:3054 +#: pl_exec.c:3081 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "la valeur d'une boucle FOREACH ne doit pas être de type tableau" -#: pl_exec.c:3216 pl_exec.c:3273 pl_exec.c:3448 +#: pl_exec.c:3243 pl_exec.c:3300 pl_exec.c:3475 #, c-format msgid "cannot return non-composite value from function returning composite type" msgstr "ne peut pas renvoyer de valeurs non composites à partir d'une fonction renvoyant un type composite" -#: pl_exec.c:3312 pl_gram.y:3318 +#: pl_exec.c:3339 pl_gram.y:3375 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "ne peut pas utiliser RETURN NEXT dans une fonction non SETOF" -#: pl_exec.c:3353 pl_exec.c:3485 +#: pl_exec.c:3380 pl_exec.c:3512 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "mauvais type de résultat fourni dans RETURN NEXT" -#: pl_exec.c:3391 pl_exec.c:3412 +#: pl_exec.c:3418 pl_exec.c:3439 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "mauvais type d'enregistrement fourni à RETURN NEXT" -#: pl_exec.c:3504 +#: pl_exec.c:3531 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "RETURN NEXT doit avoir un paramètre" -#: pl_exec.c:3532 pl_gram.y:3382 +#: pl_exec.c:3559 pl_gram.y:3439 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "ne peut pas utiliser RETURN QUERY dans une fonction non SETOF" -#: pl_exec.c:3550 +#: pl_exec.c:3577 msgid "structure of query does not match function result type" msgstr "la structure de la requête ne correspond pas au type de résultat de la fonction" -#: pl_exec.c:3605 pl_exec.c:4435 pl_exec.c:8630 +#: pl_exec.c:3632 pl_exec.c:4469 pl_exec.c:8759 #, c-format msgid "query string argument of EXECUTE is null" msgstr "l'argument de la requête d'EXECUTE est NULL" -#: pl_exec.c:3690 pl_exec.c:3828 +#: pl_exec.c:3717 pl_exec.c:3855 #, c-format msgid "RAISE option already specified: %s" msgstr "option RAISE déjà spécifiée : %s" -#: pl_exec.c:3724 +#: pl_exec.c:3751 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "RAISE sans paramètre ne peut pas être utilisé sans un gestionnaire d'exceptions" -#: pl_exec.c:3818 +#: pl_exec.c:3845 #, c-format msgid "RAISE statement option cannot be null" msgstr "l'option de l'instruction RAISE ne peut pas être NULL" -#: pl_exec.c:3888 +#: pl_exec.c:3915 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3943 +#: pl_exec.c:3970 #, c-format msgid "assertion failed" msgstr "échec de l'assertion" -#: pl_exec.c:4308 pl_exec.c:4497 +#: pl_exec.c:4342 pl_exec.c:4532 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "ne peut pas utiliser COPY vers/depuis un client en PL/pgSQL" -#: pl_exec.c:4314 +#: pl_exec.c:4348 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "commande de transaction non supportée dans PL/pgSQL" -#: pl_exec.c:4337 pl_exec.c:4526 +#: pl_exec.c:4371 pl_exec.c:4561 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO utilisé dans une commande qui ne peut pas envoyer de données" -#: pl_exec.c:4360 pl_exec.c:4549 +#: pl_exec.c:4394 pl_exec.c:4584 #, c-format msgid "query returned no rows" msgstr "la requête n'a renvoyé aucune ligne" -#: pl_exec.c:4382 pl_exec.c:4568 pl_exec.c:5711 +#: pl_exec.c:4416 pl_exec.c:4603 pl_exec.c:5755 #, c-format msgid "query returned more than one row" msgstr "la requête a renvoyé plus d'une ligne" -#: pl_exec.c:4384 +#: pl_exec.c:4418 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "Assurez-vous que la requête ne renvoie qu'une seule ligne ou utilisez LIMIT 1." -#: pl_exec.c:4400 +#: pl_exec.c:4434 #, c-format msgid "query has no destination for result data" msgstr "la requête n'a pas de destination pour les données résultantes" -#: pl_exec.c:4401 +#: pl_exec.c:4435 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Si vous voulez ignorer le résultat d'un SELECT, utilisez PERFORM à la place." -#: pl_exec.c:4489 +#: pl_exec.c:4524 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "EXECUTE n'est pas implementé pour SELECT ... INTO" -#: pl_exec.c:4490 +#: pl_exec.c:4525 #, c-format msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead." msgstr "Vous pouvez aussi utiliser EXECUTE ... INTO ou EXECUTE CREATE TABLE ... AS à la place." -#: pl_exec.c:4503 +#: pl_exec.c:4538 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE pour les commandes de transactions n'est pas implémenté" -#: pl_exec.c:4804 pl_exec.c:4892 +#: pl_exec.c:4848 pl_exec.c:4936 #, c-format msgid "cursor variable \"%s\" is null" msgstr "la variable du curseur « %s » est NULL" -#: pl_exec.c:4815 pl_exec.c:4903 +#: pl_exec.c:4859 pl_exec.c:4947 #, c-format msgid "cursor \"%s\" does not exist" msgstr "le curseur « %s » n'existe pas" -#: pl_exec.c:4828 +#: pl_exec.c:4872 #, c-format msgid "relative or absolute cursor position is null" msgstr "la position relative ou absolue du curseur est NULL" -#: pl_exec.c:5066 pl_exec.c:5161 +#: pl_exec.c:5110 pl_exec.c:5205 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "une valeur NULL ne peut pas être affectée à la variable « %s » déclarée non NULL" -#: pl_exec.c:5142 +#: pl_exec.c:5186 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "ne peut pas affecter une valeur non composite à une variable de type ROW" -#: pl_exec.c:5174 +#: pl_exec.c:5218 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "ne peut pas affecter une valeur non composite à une variable RECORD" -#: pl_exec.c:5225 +#: pl_exec.c:5269 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "ne peut pas affecter à une colonne système « %s »" -#: pl_exec.c:5674 +#: pl_exec.c:5718 #, c-format msgid "query did not return data" msgstr "la requête n'a pas renvoyé de données" -#: pl_exec.c:5675 pl_exec.c:5687 pl_exec.c:5712 pl_exec.c:5788 pl_exec.c:5793 +#: pl_exec.c:5719 pl_exec.c:5731 pl_exec.c:5756 pl_exec.c:5832 pl_exec.c:5837 #, c-format msgid "query: %s" msgstr "requête : %s" -#: pl_exec.c:5683 +#: pl_exec.c:5727 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" msgstr[0] "la requête a renvoyé %d colonne" msgstr[1] "la requête a renvoyé %d colonnes" -#: pl_exec.c:5787 +#: pl_exec.c:5831 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "la requête est SELECT INTO, alors qu'elle devrait être un simple SELECT" -#: pl_exec.c:5792 +#: pl_exec.c:5836 #, c-format msgid "query is not a SELECT" msgstr "la requête n'est pas un SELECT" -#: pl_exec.c:6602 pl_exec.c:6642 pl_exec.c:6682 +#: pl_exec.c:6650 pl_exec.c:6690 pl_exec.c:6730 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "le type de paramètre %d (%s) ne correspond pas à celui préparé dans le plan (%s)" -#: pl_exec.c:7093 pl_exec.c:7127 pl_exec.c:7201 pl_exec.c:7227 +#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "le nombre de champs source et celui de champs cible dans l'affectation ne correspondent pas" #. translator: %s represents a name of an extra check -#: pl_exec.c:7095 pl_exec.c:7129 pl_exec.c:7203 pl_exec.c:7229 +#: pl_exec.c:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277 #, c-format msgid "%s check of %s is active." msgstr "%s vérification de %s est active." -#: pl_exec.c:7099 pl_exec.c:7133 pl_exec.c:7207 pl_exec.c:7233 +#: pl_exec.c:7147 pl_exec.c:7181 pl_exec.c:7255 pl_exec.c:7281 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "Assurez-vous que la requête renvoie la liste exacte des colonnes." -#: pl_exec.c:7620 +#: pl_exec.c:7668 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "l'enregistrement « %s » n'est pas encore affecté" -#: pl_exec.c:7621 +#: pl_exec.c:7669 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "La structure de ligne d'un enregistrement pas encore affecté est indéterminée." +#: pl_exec.c:8357 pl_gram.y:3498 +#, c-format +msgid "variable \"%s\" is declared CONSTANT" +msgstr "la variable « %s » est déclarée CONSTANT" + #: pl_funcs.c:237 msgid "statement block" msgstr "bloc d'instructions" @@ -548,280 +568,274 @@ msgstr "instruction SQL" msgid "FOR over EXECUTE statement" msgstr "FOR sur une instruction EXECUTE" -#: pl_gram.y:486 +#: pl_gram.y:485 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "le label du bloc doit être placé avant DECLARE, et non pas après" -#: pl_gram.y:506 +#: pl_gram.y:505 #, c-format msgid "collations are not supported by type %s" msgstr "les collationnements ne sont pas supportés par le type %s" -#: pl_gram.y:525 +#: pl_gram.y:524 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "la variable « %s » doit avoir une valeur par défaut car elle est déclarée NOT NULL" -#: pl_gram.y:673 pl_gram.y:688 pl_gram.y:714 -#, c-format -msgid "variable \"%s\" does not exist" -msgstr "la variable « %s » n'existe pas" - -#: pl_gram.y:732 pl_gram.y:760 +#: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "déclaration dupliquée" -#: pl_gram.y:743 pl_gram.y:771 +#: pl_gram.y:715 pl_gram.y:743 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "la variable « %s » cache une variable définie précédemment" -#: pl_gram.y:1043 +#: pl_gram.y:1017 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "l'élément %s de diagnostique n'est pas autorisé dans GET STACKED DIAGNOSTICS" -#: pl_gram.y:1061 +#: pl_gram.y:1035 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "l'élément %s de diagnostique n'est pas autorisé dans GET CURRENT DIAGNOSTICS" -#: pl_gram.y:1156 +#: pl_gram.y:1133 msgid "unrecognized GET DIAGNOSTICS item" msgstr "élément GET DIAGNOSTICS non reconnu" -#: pl_gram.y:1172 pl_gram.y:3557 +#: pl_gram.y:1149 pl_gram.y:3614 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "« %s » n'est pas une variable scalaire" -#: pl_gram.y:1402 pl_gram.y:1596 +#: pl_gram.y:1379 pl_gram.y:1572 #, c-format msgid "loop variable of loop over rows must be a record variable or list of scalar variables" msgstr "la variable d'une boucle sur des lignes doit être une variable de type record ou une liste de variables scalaires" -#: pl_gram.y:1437 +#: pl_gram.y:1414 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "le curseur de la boucle FOR ne doit avoir qu'une seule variable cible" -#: pl_gram.y:1444 +#: pl_gram.y:1421 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "le curseur de la boucle FOR doit utiliser une variable d'un curseur lié" -#: pl_gram.y:1535 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "une boucle FOR de type entier ne doit avoir qu'une seule variable cible" -#: pl_gram.y:1569 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "ne peut pas spécifier REVERSE dans la requête d'une boucle FOR" -#: pl_gram.y:1699 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "la variable d'une boucle FOREACH doit être une variable connue ou une liste de variables" -#: pl_gram.y:1741 +#: pl_gram.y:1717 #, c-format msgid "there is no label \"%s\" attached to any block or loop enclosing this statement" msgstr "il n'existe pas de label « %s » attaché à un bloc ou à une boucle englobant cette instruction" -#: pl_gram.y:1749 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "le label de bloc « %s » ne peut pas être utilisé avec CONTINUE" -#: pl_gram.y:1764 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT ne peut pas être utilisé à l'extérieur d'une boucle, sauf s'il a un label" -#: pl_gram.y:1765 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE ne peut pas être utilisé à l'extérieur d'une boucle" -#: pl_gram.y:1789 pl_gram.y:1827 pl_gram.y:1875 pl_gram.y:3004 pl_gram.y:3092 -#: pl_gram.y:3203 pl_gram.y:3956 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149 +#: pl_gram.y:3260 pl_gram.y:4009 msgid "unexpected end of function definition" msgstr "fin inattendue de la définition de la fonction" -#: pl_gram.y:1895 pl_gram.y:1919 pl_gram.y:1935 pl_gram.y:1941 pl_gram.y:2066 -#: pl_gram.y:2074 pl_gram.y:2088 pl_gram.y:2183 pl_gram.y:2407 pl_gram.y:2497 -#: pl_gram.y:2655 pl_gram.y:3799 pl_gram.y:3860 pl_gram.y:3937 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990 msgid "syntax error" msgstr "erreur de syntaxe" -#: pl_gram.y:1923 pl_gram.y:1925 pl_gram.y:2411 pl_gram.y:2413 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "code SQLSTATE invalide" -#: pl_gram.y:2131 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "erreur de syntaxe, « FOR » attendu" -#: pl_gram.y:2192 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "l'instruction FETCH ne peut pas renvoyer plusieurs lignes" -#: pl_gram.y:2289 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "la variable de curseur doit être une variable simple" -#: pl_gram.y:2295 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "la variable « %s » doit être de type cursor ou refcursor" -#: pl_gram.y:2626 pl_gram.y:2637 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "« %s » n'est pas une variable connue" -#: pl_gram.y:2743 pl_gram.y:2753 pl_gram.y:2909 +#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911 msgid "mismatched parentheses" msgstr "parenthèses non correspondantes" -#: pl_gram.y:2757 +#: pl_gram.y:2733 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "« %s » manquant à la fin de l'expression SQL" -#: pl_gram.y:2763 +#: pl_gram.y:2739 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "« %s » manquant à la fin de l'instruction SQL" -#: pl_gram.y:2780 +#: pl_gram.y:2758 msgid "missing expression" msgstr "expression manquante" -#: pl_gram.y:2782 +#: pl_gram.y:2760 msgid "missing SQL statement" msgstr "instruction SQL manquante" -#: pl_gram.y:2911 +#: pl_gram.y:2889 +msgid "syntax error, expected \"]\"" +msgstr "erreur de syntaxe, « ] » attendu" + +#: pl_gram.y:2913 msgid "incomplete data type declaration" msgstr "déclaration incomplète d'un type de données" -#: pl_gram.y:2934 +#: pl_gram.y:2936 msgid "missing data type declaration" msgstr "déclaration manquante d'un type de données" -#: pl_gram.y:3014 +#: pl_gram.y:3071 msgid "INTO specified more than once" msgstr "INTO spécifié plus d'une fois" -#: pl_gram.y:3184 +#: pl_gram.y:3241 msgid "expected FROM or IN" msgstr "attendait FROM ou IN" -#: pl_gram.y:3245 +#: pl_gram.y:3302 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "RETURN ne peut pas avoir de paramètre dans une fonction renvoyant un ensemble" -#: pl_gram.y:3246 +#: pl_gram.y:3303 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Utilisez RETURN NEXT ou RETURN QUERY." -#: pl_gram.y:3256 +#: pl_gram.y:3313 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "RETURN ne peut pas avoir de paramètre dans une procédure" -#: pl_gram.y:3261 +#: pl_gram.y:3318 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "RETURN ne peut pas avoir de paramètre dans une fonction renvoyant void" -#: pl_gram.y:3270 +#: pl_gram.y:3327 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN ne peut pas avoir de paramètre dans une fonction avec des paramètres OUT" -#: pl_gram.y:3333 +#: pl_gram.y:3390 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT ne peut pas avoir de paramètre dans une fonction avec des paramètres OUT" -#: pl_gram.y:3441 -#, c-format -msgid "variable \"%s\" is declared CONSTANT" -msgstr "la variable « %s » est déclarée CONSTANT" - -#: pl_gram.y:3499 +#: pl_gram.y:3556 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "la variable de type record ne peut pas faire partie d'une liste INTO à plusieurs éléments" -#: pl_gram.y:3545 +#: pl_gram.y:3602 #, c-format msgid "too many INTO variables specified" msgstr "trop de variables INTO indiquées" -#: pl_gram.y:3753 +#: pl_gram.y:3810 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "label de fin « %s » spécifié pour un bloc sans label" -#: pl_gram.y:3760 +#: pl_gram.y:3817 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "le label de fin « %s » est différent du label « %s » du bloc" -#: pl_gram.y:3794 +#: pl_gram.y:3851 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "le curseur « %s » n'a pas d'argument" -#: pl_gram.y:3808 +#: pl_gram.y:3865 #, c-format msgid "cursor \"%s\" has arguments" msgstr "le curseur « %s » a des arguments" -#: pl_gram.y:3850 +#: pl_gram.y:3907 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "le curseur « %s » n'a pas d'argument nommé « %s »" -#: pl_gram.y:3870 +#: pl_gram.y:3927 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "la valeur du paramètre « %s » pour le curseur « %s » est spécifiée plus d'une fois" -#: pl_gram.y:3895 +#: pl_gram.y:3948 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "pas assez d'arguments pour le curseur « %s »" -#: pl_gram.y:3902 +#: pl_gram.y:3955 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "trop d'arguments pour le curseur « %s »" -#: pl_gram.y:3988 +#: pl_gram.y:4041 msgid "unrecognized RAISE statement option" msgstr "option de l'instruction RAISE inconnue" -#: pl_gram.y:3992 +#: pl_gram.y:4045 msgid "syntax error, expected \"=\"" msgstr "erreur de syntaxe, « = » attendu" -#: pl_gram.y:4033 +#: pl_gram.y:4086 #, c-format msgid "too many parameters specified for RAISE" msgstr "trop de paramètres spécifiés pour RAISE" -#: pl_gram.y:4037 +#: pl_gram.y:4090 #, c-format msgid "too few parameters specified for RAISE" msgstr "trop peu de paramètres pour RAISE" @@ -847,13 +861,13 @@ msgid "List of programming constructs that should produce an error." msgstr "Liste des constructions de programmation qui devraient produire une erreur." #. translator: %s is typically the translation of "syntax error" -#: pl_scanner.c:508 +#: pl_scanner.c:525 #, c-format msgid "%s at end of input" msgstr "%s à la fin de l'entrée" #. translator: first %s is typically the translation of "syntax error" -#: pl_scanner.c:524 +#: pl_scanner.c:541 #, c-format msgid "%s at or near \"%s\"" msgstr "%s sur ou près de « %s »" diff --git a/src/pl/tcl/po/fr.po b/src/pl/tcl/po/fr.po index 2af48d874a974..1d76a4ffc0ada 100644 --- a/src/pl/tcl/po/fr.po +++ b/src/pl/tcl/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-23 14:08+0000\n" +"PO-Revision-Date: 2024-08-23 16:43+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,60 +19,65 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.4\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "Fonction PL/Tcl à appeler une fois quand pltcl est utilisé pour la première fois." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "Fonction PL/TclU à appeler une fois quand pltcl est utilisé pour la première fois." -#: pltcl.c:637 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "la fonction « %s » est dans le mauvais langage" -#: pltcl.c:648 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "la fonction « %s » doit être définie en SECURITY DEFINER" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:682 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" msgstr "traitement du paramètre %s" -#: pltcl.c:835 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" -#: pltcl.c:840 +#: pltcl.c:839 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" -#: pltcl.c:1013 +#: pltcl.c:1012 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "" "fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n" "accepter le type record" -#: pltcl.c:1297 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "n'a pas pu séparer la valeur de retour du trigger : %s" +msgid "could not parse function return value: %s" +msgstr "n'a pas pu analyser la valeur de retour de la fonction : %s" -#: pltcl.c:1378 pltcl.c:1808 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "n'a pas pu analyser la valeur de retour du trigger : %s" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1379 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" @@ -81,42 +86,42 @@ msgstr "" "%s\n" "dans la fonction PL/Tcl « %s »" -#: pltcl.c:1543 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "les fonctions trigger peuvent seulement être appelées par des triggers" -#: pltcl.c:1547 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "les fonctions PL/Tcl ne peuvent pas renvoyer le type %s" -#: pltcl.c:1586 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "les fonctions PL/Tcl ne peuvent pas accepter le type %s" -#: pltcl.c:1700 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "n'a pas pu créer la procédure interne « %s » : %s" -#: pltcl.c:3202 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "la liste de nom de colonne/valeur doit avoir un nombre pair d'éléments" -#: pltcl.c:3220 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "la liste de nom de colonne/valeur contient des noms de colonne inexistantes (« %s »)" -#: pltcl.c:3227 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "ne peut pas initialiser l'attribut système « %s »" -#: pltcl.c:3233 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "ne peut pas initialiser la colonne générée « %s »" @@ -127,6 +132,10 @@ msgstr "ne peut pas initialiser la colonne générée « %s »" #~ msgid "could not load module \"unknown\": %s" #~ msgstr "n'a pas pu charger le module « unknown » : %s" +#, c-format +#~ msgid "could not split return value from trigger: %s" +#~ msgstr "n'a pas pu séparer la valeur de retour du trigger : %s" + #~ msgid "module \"unknown\" not found in pltcl_modules" #~ msgstr "module « unkown » introuvable dans pltcl_modules" From 73adaba276cd6d80c086735e566a26b435596242 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 2 Sep 2024 17:40:32 +0200 Subject: [PATCH 26/45] Fix rarely-run test for message wording change fixup for 2e6a8047f0 Reported-by: Nazir Bilal Yavuz --- src/test/modules/xid_wraparound/t/002_limits.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/modules/xid_wraparound/t/002_limits.pl b/src/test/modules/xid_wraparound/t/002_limits.pl index aca3fa15149bb..889689d3bde06 100644 --- a/src/test/modules/xid_wraparound/t/002_limits.pl +++ b/src/test/modules/xid_wraparound/t/002_limits.pl @@ -103,7 +103,7 @@ stderr => \$stderr); like( $stderr, - qr/ERROR: database is not accepting commands that assign new XIDs to avoid wraparound data loss in database "postgres"/, + qr/ERROR: database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database "postgres"/, "stop-limit"); # Finish the old transaction, to allow vacuum freezing to advance From c8e04802aeb4a51ffa3b2658894e7e2e8fb67c8b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 2 Sep 2024 18:03:47 +0200 Subject: [PATCH 27/45] Fix warnings from msgfmt /usr/bin/msgfmt: po/fr.po: warning: PO file header fuzzy warning: older versions of msgfmt will give an error on this Apparently, not all versions of msgfmt produce this. Quick fix for now, more to be researched later. --- src/bin/pg_combinebackup/po/fr.po | 3 +-- src/bin/pg_walsummary/po/fr.po | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/bin/pg_combinebackup/po/fr.po b/src/bin/pg_combinebackup/po/fr.po index e6bda5593edca..c3a3432cbb8ec 100644 --- a/src/bin/pg_combinebackup/po/fr.po +++ b/src/bin/pg_combinebackup/po/fr.po @@ -3,13 +3,12 @@ # This file is distributed under the same license as the pg_combinebackup (PostgreSQL) package. # FIRST AUTHOR , 2024. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2024-08-29 17:53+0000\n" -"PO-Revision-Date: 2024-08-30 08:32+0200\n" +"PO-Revision-Date: 2024-09-02 17:49+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" diff --git a/src/bin/pg_walsummary/po/fr.po b/src/bin/pg_walsummary/po/fr.po index 0f80c8fbd0356..f2adc2ff28ece 100644 --- a/src/bin/pg_walsummary/po/fr.po +++ b/src/bin/pg_walsummary/po/fr.po @@ -3,13 +3,12 @@ # This file is distributed under the same license as the pg_walsummary (PostgreSQL) package. # FIRST AUTHOR , 2024. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: pg_walsummary (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2024-08-23 10:22+0000\n" -"PO-Revision-Date: 2024-08-23 16:22+0200\n" +"PO-Revision-Date: 2024-09-02 17:50+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" From b6d662d3c71fc03c7e1a23577820405a75b27052 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 2 Sep 2024 16:11:07 -0400 Subject: [PATCH 28/45] Stamp 17rc1. --- configure | 18 +++++++++--------- configure.ac | 2 +- meson.build | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configure b/configure index 7bb00640fa23e..5f70dc964abe6 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 17beta3. +# Generated by GNU Autoconf 2.69 for PostgreSQL 17rc1. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='17beta3' -PACKAGE_STRING='PostgreSQL 17beta3' +PACKAGE_VERSION='17rc1' +PACKAGE_STRING='PostgreSQL 17rc1' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1450,7 +1450,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 17beta3 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 17rc1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1515,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 17beta3:";; + short | recursive ) echo "Configuration of PostgreSQL 17rc1:";; esac cat <<\_ACEOF @@ -1690,7 +1690,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 17beta3 +PostgreSQL configure 17rc1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2443,7 +2443,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 17beta3, which was +It was created by PostgreSQL $as_me 17rc1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -19786,7 +19786,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 17beta3, which was +This file was extended by PostgreSQL $as_me 17rc1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19857,7 +19857,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 17beta3 +PostgreSQL config.status 17rc1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index a9f2ee4e2be46..23ae25b4aa858 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details. dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [17beta3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [17rc1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/meson.build b/meson.build index 8e3fae3cb7eab..caad34185b75c 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '17beta3', + version: '17rc1', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for From da9fb5a6d17f6588f84745dce7d2a82d84550fc0 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 4 Sep 2024 08:05:56 +0900 Subject: [PATCH 29/45] Simplify makefiles exporting twice enable_injection_points This is confusing, as it exports twice the same variable. Oversight in 6782709df81f that has spread in more places afterwards. Reported-by: Alvaro Herrera, Tom Lane Discussion: https://postgr.es/m/202408201630.mn6vbohjh7hh@alvherre.pgsql Backpatch-through: 17 --- src/test/modules/test_misc/Makefile | 2 +- src/test/recovery/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/modules/test_misc/Makefile b/src/test/modules/test_misc/Makefile index a958d156f47fd..919a25fc67fd3 100644 --- a/src/test/modules/test_misc/Makefile +++ b/src/test/modules/test_misc/Makefile @@ -4,7 +4,7 @@ TAP_TESTS = 1 EXTRA_INSTALL=src/test/modules/injection_points -export enable_injection_points enable_injection_points +export enable_injection_points ifdef USE_PGXS PG_CONFIG = pg_config diff --git a/src/test/recovery/Makefile b/src/test/recovery/Makefile index f57baba5e89ab..d40c05a566d43 100644 --- a/src/test/recovery/Makefile +++ b/src/test/recovery/Makefile @@ -18,7 +18,7 @@ subdir = src/test/recovery top_builddir = ../../.. include $(top_builddir)/src/Makefile.global -export enable_injection_points enable_injection_points +export enable_injection_points # required for 017_shm.pl and 027_stream_regress.pl REGRESS_SHLIB=$(abs_top_builddir)/src/test/regress/regress$(DLSUFFIX) From ae2f29cd2dc86980dc032d8d716474c850820074 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 4 Sep 2024 08:56:28 +0900 Subject: [PATCH 30/45] Avoid installcheck failure in TAP tests using injection_points These tests depend on the test module injection_points to be installed, but it may not be available as the contents of src/test/modules/ are not installed by default. This commit adds a workaround based on a scan of pg_available_extensions to check if the extension is available, skipping the test if it is not. This allows installcheck to work transparently. There are more tests impacted by this problem on HEAD, but for now this addresses only the tests that exist on HEAD and v17 as the release is close by. Reported-by: Maxim Orlov Discussion: https://postgr.es/m/CACG=ezZkoT-pFz6a9XnyToiuR-Wg8fGELqHLoyBodr+2h-77qA@mail.gmail.com Backpatch-through: 17 --- src/test/modules/test_misc/t/005_timeouts.pl | 12 ++++++++++++ src/test/recovery/t/041_checkpoint_at_promote.pl | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/test/modules/test_misc/t/005_timeouts.pl b/src/test/modules/test_misc/t/005_timeouts.pl index 9e1ff9e5c1c66..53e44016e3ae8 100644 --- a/src/test/modules/test_misc/t/005_timeouts.pl +++ b/src/test/modules/test_misc/t/005_timeouts.pl @@ -24,6 +24,18 @@ my $node = PostgreSQL::Test::Cluster->new('master'); $node->init(); $node->start; + +# Check if the extension injection_points is available, as it may be +# possible that this script is run with installcheck, where the module +# would not be installed by default. +my $result = $node->safe_psql('postgres', + "SELECT count(*) > 0 FROM pg_available_extensions WHERE name = 'injection_points';" +); +if ($result eq 'f') +{ + plan skip_all => 'Extension injection_points not installed'; +} + $node->safe_psql('postgres', 'CREATE EXTENSION injection_points;'); # diff --git a/src/test/recovery/t/041_checkpoint_at_promote.pl b/src/test/recovery/t/041_checkpoint_at_promote.pl index 5aa05b456ca22..905662353da96 100644 --- a/src/test/recovery/t/041_checkpoint_at_promote.pl +++ b/src/test/recovery/t/041_checkpoint_at_promote.pl @@ -35,6 +35,17 @@ ]); $node_primary->start; +# Check if the extension injection_points is available, as it may be +# possible that this script is run with installcheck, where the module +# would not be installed by default. +my $result = $node_primary->safe_psql('postgres', + "SELECT count(*) > 0 FROM pg_available_extensions WHERE name = 'injection_points';" +); +if ($result eq 'f') +{ + plan skip_all => 'Extension injection_points not installed'; +} + my $backup_name = 'my_backup'; $node_primary->backup($backup_name); From a57e8efe13217282cf846ad646ea405b8ac4a42b Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 4 Sep 2024 10:22:19 +0900 Subject: [PATCH 31/45] Fix inconsistent LWLock tranche name "CommitTsSLRU" This term was using an inconsistent casing between the code and the documentation, using "CommitTsSLRU" in wait_event_names.txt and "CommitTSSLRU" in the code. Let's update the term in the code to reflect what's in the documentation, "CommitTs" being more commonly used, so as pg_stat_activity shows the same term as the documentation. Oversight in 53c2a97a9266. Author: Alexander Lakhin Discussion: https://postgr.es/m/f7e514cf-2446-21f1-a5d2-8c089a6e2168@gmail.com Backpatch-through: 17 --- src/backend/storage/lmgr/lwlock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index b1e388dc7c976..4e1a4b1ef66da 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -161,7 +161,7 @@ static const char *const BuiltinTrancheNames[] = { [LWTRANCHE_LAUNCHER_HASH] = "LogicalRepLauncherHash", [LWTRANCHE_DSM_REGISTRY_DSA] = "DSMRegistryDSA", [LWTRANCHE_DSM_REGISTRY_HASH] = "DSMRegistryHash", - [LWTRANCHE_COMMITTS_SLRU] = "CommitTSSLRU", + [LWTRANCHE_COMMITTS_SLRU] = "CommitTsSLRU", [LWTRANCHE_MULTIXACTOFFSET_SLRU] = "MultixactOffsetSLRU", [LWTRANCHE_MULTIXACTMEMBER_SLRU] = "MultixactMemberSLRU", [LWTRANCHE_NOTIFY_SLRU] = "NotifySLRU", From afd200db8b46ede40d6f12641b68c8840d9c1b14 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 5 Sep 2024 12:42:33 -0400 Subject: [PATCH 32/45] Prevent mis-encoding of "trailing junk after numeric literal" errors. Since commit 2549f0661, we reject an identifier immediately following a numeric literal (without separating whitespace), because that risks ambiguity with hex/octal/binary integers. However, that patch used token patterns like "{integer}{ident_start}", which is problematic because {ident_start} matches only a single byte. If the first character after the integer is a multibyte character, this ends up with flex reporting an error message that includes a partial multibyte character. That can cause assorted bad-encoding problems downstream, both in the report to the client and in the postmaster log file. To fix, use {identifier} not {ident_start} in the "junk" token patterns, so that they will match complete multibyte characters. This seems generally better user experience quite aside from the encoding problem: for "123abc" the error message will now say that the error appeared at or near "123abc" instead of "123a". While at it, add some commentary about why these patterns exist and how they work. Report and patch by Karina Litskevich; review by Pavel Borisov. Back-patch to v15 where the problem came in. Discussion: https://postgr.es/m/CACiT8iZ_diop=0zJ7zuY3BXegJpkKK1Av-PU7xh0EDYHsa5+=g@mail.gmail.com --- src/backend/parser/scan.l | 44 +++++++++++++----------- src/fe_utils/psqlscan.l | 41 ++++++++++++---------- src/interfaces/ecpg/preproc/pgc.l | 41 ++++++++++++---------- src/test/regress/expected/numerology.out | 10 +++--- 4 files changed, 74 insertions(+), 62 deletions(-) diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 3248fb5108058..c97db946110ab 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -412,16 +412,30 @@ numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] -decinteger_junk {decinteger}{ident_start} -hexinteger_junk {hexinteger}{ident_start} -octinteger_junk {octinteger}{ident_start} -bininteger_junk {bininteger}{ident_start} -numeric_junk {numeric}{ident_start} -real_junk {real}{ident_start} - /* Positional parameters don't accept underscores. */ param \${decdigit}+ -param_junk \${decdigit}+{ident_start} + +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ +integer_junk {decinteger}{identifier} +numeric_junk {numeric}{identifier} +real_junk {real}{identifier} +param_junk \${decdigit}+{identifier} other . @@ -1049,19 +1063,7 @@ other . SET_YYLLOC(); yyerror("trailing junk after numeric literal"); } -{decinteger_junk} { - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } -{hexinteger_junk} { - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } -{octinteger_junk} { - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } -{bininteger_junk} { +{integer_junk} { SET_YYLLOC(); yyerror("trailing junk after numeric literal"); } diff --git a/src/fe_utils/psqlscan.l b/src/fe_utils/psqlscan.l index ddc4658b9256c..8e8b049e15f41 100644 --- a/src/fe_utils/psqlscan.l +++ b/src/fe_utils/psqlscan.l @@ -348,16 +348,30 @@ numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] -decinteger_junk {decinteger}{ident_start} -hexinteger_junk {hexinteger}{ident_start} -octinteger_junk {octinteger}{ident_start} -bininteger_junk {bininteger}{ident_start} -numeric_junk {numeric}{ident_start} -real_junk {real}{ident_start} - /* Positional parameters don't accept underscores. */ param \${decdigit}+ -param_junk \${decdigit}+{ident_start} + +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ +integer_junk {decinteger}{identifier} +numeric_junk {numeric}{identifier} +real_junk {real}{identifier} +param_junk \${decdigit}+{identifier} /* psql-specific: characters allowed in variable names */ variable_char [A-Za-z\200-\377_0-9] @@ -898,16 +912,7 @@ other . {realfail} { ECHO; } -{decinteger_junk} { - ECHO; - } -{hexinteger_junk} { - ECHO; - } -{octinteger_junk} { - ECHO; - } -{bininteger_junk} { +{integer_junk} { ECHO; } {numeric_junk} { diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index f9d68a96e79d9..ba0db5614570d 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -381,16 +381,30 @@ numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] -decinteger_junk {decinteger}{ident_start} -hexinteger_junk {hexinteger}{ident_start} -octinteger_junk {octinteger}{ident_start} -bininteger_junk {bininteger}{ident_start} -numeric_junk {numeric}{ident_start} -real_junk {real}{ident_start} - /* Positional parameters don't accept underscores. */ param \${decdigit}+ -param_junk \${decdigit}+{ident_start} + +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ +integer_junk {decinteger}{identifier} +numeric_junk {numeric}{identifier} +real_junk {real}{identifier} +param_junk \${decdigit}+{identifier} /* special characters for other dbms */ /* we have to react differently in compat mode */ @@ -993,16 +1007,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ * Note that some trailing junk is valid in C (such as 100LL), so we * contain this to SQL mode. */ -{decinteger_junk} { - mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); - } -{hexinteger_junk} { - mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); - } -{octinteger_junk} { - mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); - } -{bininteger_junk} { +{integer_junk} { mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); } {numeric_junk} { diff --git a/src/test/regress/expected/numerology.out b/src/test/regress/expected/numerology.out index 8d4a3ba228a1c..3512a1d04ce5e 100644 --- a/src/test/regress/expected/numerology.out +++ b/src/test/regress/expected/numerology.out @@ -171,7 +171,7 @@ SELECT -0x8000000000000001; -- error cases SELECT 123abc; -ERROR: trailing junk after numeric literal at or near "123a" +ERROR: trailing junk after numeric literal at or near "123abc" LINE 1: SELECT 123abc; ^ SELECT 0x0o; @@ -318,7 +318,7 @@ ERROR: trailing junk after numeric literal at or near "100_" LINE 1: SELECT 100_; ^ SELECT 100__000; -ERROR: trailing junk after numeric literal at or near "100_" +ERROR: trailing junk after numeric literal at or near "100__000" LINE 1: SELECT 100__000; ^ SELECT _1_000.5; @@ -330,7 +330,7 @@ ERROR: trailing junk after numeric literal at or near "1_000_" LINE 1: SELECT 1_000_.5; ^ SELECT 1_000._5; -ERROR: trailing junk after numeric literal at or near "1_000._" +ERROR: trailing junk after numeric literal at or near "1_000._5" LINE 1: SELECT 1_000._5; ^ SELECT 1_000.5_; @@ -338,11 +338,11 @@ ERROR: trailing junk after numeric literal at or near "1_000.5_" LINE 1: SELECT 1_000.5_; ^ SELECT 1_000.5e_1; -ERROR: trailing junk after numeric literal at or near "1_000.5e" +ERROR: trailing junk after numeric literal at or near "1_000.5e_1" LINE 1: SELECT 1_000.5e_1; ^ PREPARE p1 AS SELECT $0_1; -ERROR: trailing junk after parameter at or near "$0_" +ERROR: trailing junk after parameter at or near "$0_1" LINE 1: PREPARE p1 AS SELECT $0_1; ^ -- From cf60739174525c61e109fbf31f3cdd1396a1c115 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 5 Sep 2024 21:48:42 -0400 Subject: [PATCH 33/45] doc PG 17 relnotes: remove tab complete for MERGE/SPLIT partit. commit 60ae37a8b Backpatch-through: 17 only --- doc/src/sgml/release-17.sgml | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index f93ea04cf271a..ecf67e15b5351 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -2282,8 +2282,6 @@ Author: Masahiko Sawada 2024-03-28 [f1bb9284f] Improve tab completion for ALTER TABLE ALTER COLUMN SET Author: Masahiko Sawada 2024-04-08 [304b6b1a6] Add more tab completion support for ALTER DEFAULT PRIVIL -Author: Alexander Korotkov -2024-04-30 [60ae37a8b] Add tab completion for partition MERGE/SPLIT operations Author: Michael Paquier 2024-05-01 [2800fbb2b] Add tab completion for EXPLAIN (MEMORY|SERIALIZE) --> From 86e84d7d30c533bc5ee351e1888fa9b1c8c96429 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 10:12:00 +0900 Subject: [PATCH 34/45] Update comment about ExprState.escontext The updated comment provides more helpful guidance by mentioning that escontext should be set when soft error handling is needed. Reported-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/include/nodes/execnodes.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index b62c96f206489..cd1b16296b5a2 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -132,8 +132,10 @@ typedef struct ExprState bool *innermost_domainnull; /* - * For expression nodes that support soft errors. Should be set to NULL - * before calling ExecInitExprRec() if the caller wants errors thrown. + * For expression nodes that support soft errors. Should be set to NULL if + * the caller wants errors to be thrown. Callers that do not want errors + * thrown should set it to a valid ErrorSaveContext before calling + * ExecInitExprRec(). */ ErrorSaveContext *escontext; } ExprState; From 297f20a22dc5ecaa26a22e5041a1a674c45e18ab Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 10:12:16 +0900 Subject: [PATCH 35/45] SQL/JSON: Fix JSON_TABLE() column deparsing The deparsing code in get_json_expr_options() unnecessarily emitted the default column-specific ON ERROR / EMPTY behavior when the top-level ON ERROR behavior in JSON_TABLE was set to ERROR. Fix that by not overriding the column-specific default, determined based on the column's JsonExprOp in get_json_table_columns(), with JSON_BEHAVIOR_ERROR when that is the top-level ON ERROR behavior. Note that this only removes redundancy; the current deparsing output is not incorrect, just redundant. Reviewed-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/backend/utils/adt/ruleutils.c | 8 ++++---- .../regress/expected/sqljson_jsontable.out | 18 ++++++++++++++++++ src/test/regress/sql/sqljson_jsontable.sql | 5 +++++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index b31be31321dc3..371b46e7a2d92 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -11719,7 +11719,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, bool showimplicit) { StringInfo buf = context->buf; - JsonExpr *jexpr = castNode(JsonExpr, tf->docexpr); ListCell *lc_colname; ListCell *lc_coltype; ListCell *lc_coltypmod; @@ -11772,6 +11771,10 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, if (ordinality) continue; + /* + * Set default_behavior to guide get_json_expr_options() on whether to + * to emit the ON ERROR / EMPTY clauses. + */ if (colexpr->op == JSON_EXISTS_OP) { appendStringInfoString(buf, " EXISTS"); @@ -11795,9 +11798,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, default_behavior = JSON_BEHAVIOR_NULL; } - if (jexpr->on_error->btype == JSON_BEHAVIOR_ERROR) - default_behavior = JSON_BEHAVIOR_ERROR; - appendStringInfoString(buf, " PATH "); get_json_path_spec(colexpr->path_spec, context, showimplicit); diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index 721e01d6ad079..ebfde38a05681 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -1132,3 +1132,21 @@ ERROR: invalid ON ERROR behavior for column "a" LINE 1: ...M JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty obje... ^ DETAIL: Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns. +-- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY +-- behavior +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); + QUERY PLAN +----------------------------------------------------------------------------------------------------- + Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) + Output: a + Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) +(3 rows) + +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); + QUERY PLAN +-------------------------------------------------------------------------------------------------------------------- + Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) + Output: a + Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$') ERROR ON ERROR) +(3 rows) + diff --git a/src/test/regress/sql/sqljson_jsontable.sql b/src/test/regress/sql/sqljson_jsontable.sql index 38992316f5afe..c94088789260f 100644 --- a/src/test/regress/sql/sqljson_jsontable.sql +++ b/src/test/regress/sql/sqljson_jsontable.sql @@ -542,3 +542,8 @@ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int) NULL ON ERROR); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int true on empty)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int omit quotes true on error)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty object on error)); + +-- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY +-- behavior +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); From 4b4edf6ee4bc5b57320987b5cb5c7e4a3565ec12 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 10:13:03 +0900 Subject: [PATCH 36/45] SQL/JSON: Fix default ON ERROR behavior for JSON_TABLE Use EMPTY ARRAY instead of EMPTY. This change does not affect the runtime behavior of JSON_TABLE(), which continues to return an empty relation ON ERROR. It only alters whether the default ON ERROR behavior is shown in the deparsed output. Reported-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/backend/parser/parse_expr.c | 4 +-- src/backend/utils/adt/ruleutils.c | 2 +- .../regress/expected/sqljson_jsontable.out | 25 +++++++++++++++++++ src/test/regress/sql/sqljson_jsontable.sql | 5 ++++ 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 56e413da9f51f..36c1b7a88f2c3 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -4603,13 +4603,13 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) } /* - * Assume EMPTY ON ERROR when ON ERROR is not specified. + * Assume EMPTY ARRAY ON ERROR when ON ERROR is not specified. * * ON EMPTY cannot be specified at the top level but it can be for * the individual columns. */ jsexpr->on_error = transformJsonBehavior(pstate, func->on_error, - JSON_BEHAVIOR_EMPTY, + JSON_BEHAVIOR_EMPTY_ARRAY, jsexpr->returning); break; diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 371b46e7a2d92..cd9c3eddd1dd0 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -11875,7 +11875,7 @@ get_json_table(TableFunc *tf, deparse_context *context, bool showimplicit) get_json_table_columns(tf, castNode(JsonTablePathScan, tf->plan), context, showimplicit); - if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY) + if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY_ARRAY) get_json_behavior(jexpr->on_error, context, "ERROR"); if (PRETTY_INDENT(context)) diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index ebfde38a05681..5c7aaa6159db5 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -1150,3 +1150,28 @@ EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ER Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$') ERROR ON ERROR) (3 rows) +-- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); + QUERY PLAN +----------------------------------------------------------------------------------------------------- + Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) + Output: a + Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) +(3 rows) + +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); + QUERY PLAN +----------------------------------------------------------------------------------------------------- + Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) + Output: a + Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) +(3 rows) + +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); + QUERY PLAN +----------------------------------------------------------------------------------------------------- + Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) + Output: a + Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) +(3 rows) + diff --git a/src/test/regress/sql/sqljson_jsontable.sql b/src/test/regress/sql/sqljson_jsontable.sql index c94088789260f..31bc9c9ea0c30 100644 --- a/src/test/regress/sql/sqljson_jsontable.sql +++ b/src/test/regress/sql/sqljson_jsontable.sql @@ -547,3 +547,8 @@ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty object on er -- behavior EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); + +-- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); +EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); From cfbc748f5ba397f799294c76cf4e4be662c5cac8 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 12:04:29 +0900 Subject: [PATCH 37/45] SQL/JSON: Avoid initializing unnecessary ON ERROR / ON EMPTY steps When the ON ERROR / ON EMPTY behavior is to return NULL, returning NULL directly from ExecEvalJsonExprPath() suffices. Therefore, there's no need to create separate steps to check the error/empty flag or those to evaluate the the constant NULL expression. This speeds up common cases because the default ON ERROR / ON EMPTY behavior for JSON_QUERY() and JSON_VALUE() is to return NULL. However, these steps are necessary if the RETURNING type is a domain, as constraints on the domain may need to be checked. Reported-by: Jian He Author: Jian He Author: Amit Langote Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/backend/executor/execExpr.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c index 9b52bab52fcb0..3db700dabf1a2 100644 --- a/src/backend/executor/execExpr.c +++ b/src/backend/executor/execExpr.c @@ -4236,6 +4236,8 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, ErrorSaveContext *escontext = jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR ? &jsestate->escontext : NULL; + bool returning_domain = + get_typtype(jsexpr->returning->typid) == TYPTYPE_DOMAIN; jsestate->jsexpr = jsexpr; @@ -4378,20 +4380,27 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, ExprEvalPushStep(state, scratch); } - jsestate->jump_empty = jsestate->jump_error = -1; - /* * Step to check jsestate->error and return the ON ERROR expression if * there is one. This handles both the errors that occur during jsonpath * evaluation in EEOP_JSONEXPR_PATH and subsequent coercion evaluation. + * + * Speed up common cases by avoiding extra steps for a NULL-valued ON + * ERROR expression unless RETURNING a domain type, where constraints must + * be checked. ExecEvalJsonExprPath() already returns NULL on error, + * making additional steps unnecessary in typical scenarios. Note that the + * default ON ERROR behavior for JSON_VALUE() and JSON_QUERY() is to + * return NULL. */ + jsestate->jump_error = state->steps_len; if (jsexpr->on_error && - jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR) + jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR && + (!(IsA(jsexpr->on_error->expr, Const) && + ((Const *) jsexpr->on_error->expr)->constisnull) || + returning_domain)) { ErrorSaveContext *saved_escontext; - jsestate->jump_error = state->steps_len; - /* JUMP to end if false, that is, skip the ON ERROR expression. */ jumps_to_end = lappend_int(jumps_to_end, state->steps_len); scratch->opcode = EEOP_JUMP_IF_NOT_TRUE; @@ -4441,14 +4450,19 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, /* * Step to check jsestate->empty and return the ON EMPTY expression if * there is one. + * + * See the comment above for details on the optimization for NULL-valued + * expressions. */ + jsestate->jump_empty = state->steps_len; if (jsexpr->on_empty != NULL && - jsexpr->on_empty->btype != JSON_BEHAVIOR_ERROR) + jsexpr->on_empty->btype != JSON_BEHAVIOR_ERROR && + (!(IsA(jsexpr->on_empty->expr, Const) && + ((Const *) jsexpr->on_empty->expr)->constisnull) || + returning_domain)) { ErrorSaveContext *saved_escontext; - jsestate->jump_empty = state->steps_len; - /* JUMP to end if false, that is, skip the ON EMPTY expression. */ jumps_to_end = lappend_int(jumps_to_end, state->steps_len); scratch->opcode = EEOP_JUMP_IF_NOT_TRUE; From 899c071d8cd0619cd3e21c7df1c3a6a4cae74655 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 12:51:26 +0900 Subject: [PATCH 38/45] Revert recent SQL/JSON related commits Reverts c88ce386c4d, 5067c230b8e, and e4e27976a68, because a few BF animals didn't like one or all of them. --- src/backend/executor/execExpr.c | 30 ++++--------- src/backend/parser/parse_expr.c | 4 +- src/backend/utils/adt/ruleutils.c | 10 ++--- .../regress/expected/sqljson_jsontable.out | 43 ------------------- src/test/regress/sql/sqljson_jsontable.sql | 10 ----- 5 files changed, 15 insertions(+), 82 deletions(-) diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c index 3db700dabf1a2..9b52bab52fcb0 100644 --- a/src/backend/executor/execExpr.c +++ b/src/backend/executor/execExpr.c @@ -4236,8 +4236,6 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, ErrorSaveContext *escontext = jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR ? &jsestate->escontext : NULL; - bool returning_domain = - get_typtype(jsexpr->returning->typid) == TYPTYPE_DOMAIN; jsestate->jsexpr = jsexpr; @@ -4380,27 +4378,20 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, ExprEvalPushStep(state, scratch); } + jsestate->jump_empty = jsestate->jump_error = -1; + /* * Step to check jsestate->error and return the ON ERROR expression if * there is one. This handles both the errors that occur during jsonpath * evaluation in EEOP_JSONEXPR_PATH and subsequent coercion evaluation. - * - * Speed up common cases by avoiding extra steps for a NULL-valued ON - * ERROR expression unless RETURNING a domain type, where constraints must - * be checked. ExecEvalJsonExprPath() already returns NULL on error, - * making additional steps unnecessary in typical scenarios. Note that the - * default ON ERROR behavior for JSON_VALUE() and JSON_QUERY() is to - * return NULL. */ - jsestate->jump_error = state->steps_len; if (jsexpr->on_error && - jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR && - (!(IsA(jsexpr->on_error->expr, Const) && - ((Const *) jsexpr->on_error->expr)->constisnull) || - returning_domain)) + jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR) { ErrorSaveContext *saved_escontext; + jsestate->jump_error = state->steps_len; + /* JUMP to end if false, that is, skip the ON ERROR expression. */ jumps_to_end = lappend_int(jumps_to_end, state->steps_len); scratch->opcode = EEOP_JUMP_IF_NOT_TRUE; @@ -4450,19 +4441,14 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, /* * Step to check jsestate->empty and return the ON EMPTY expression if * there is one. - * - * See the comment above for details on the optimization for NULL-valued - * expressions. */ - jsestate->jump_empty = state->steps_len; if (jsexpr->on_empty != NULL && - jsexpr->on_empty->btype != JSON_BEHAVIOR_ERROR && - (!(IsA(jsexpr->on_empty->expr, Const) && - ((Const *) jsexpr->on_empty->expr)->constisnull) || - returning_domain)) + jsexpr->on_empty->btype != JSON_BEHAVIOR_ERROR) { ErrorSaveContext *saved_escontext; + jsestate->jump_empty = state->steps_len; + /* JUMP to end if false, that is, skip the ON EMPTY expression. */ jumps_to_end = lappend_int(jumps_to_end, state->steps_len); scratch->opcode = EEOP_JUMP_IF_NOT_TRUE; diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 36c1b7a88f2c3..56e413da9f51f 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -4603,13 +4603,13 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) } /* - * Assume EMPTY ARRAY ON ERROR when ON ERROR is not specified. + * Assume EMPTY ON ERROR when ON ERROR is not specified. * * ON EMPTY cannot be specified at the top level but it can be for * the individual columns. */ jsexpr->on_error = transformJsonBehavior(pstate, func->on_error, - JSON_BEHAVIOR_EMPTY_ARRAY, + JSON_BEHAVIOR_EMPTY, jsexpr->returning); break; diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index cd9c3eddd1dd0..b31be31321dc3 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -11719,6 +11719,7 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, bool showimplicit) { StringInfo buf = context->buf; + JsonExpr *jexpr = castNode(JsonExpr, tf->docexpr); ListCell *lc_colname; ListCell *lc_coltype; ListCell *lc_coltypmod; @@ -11771,10 +11772,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, if (ordinality) continue; - /* - * Set default_behavior to guide get_json_expr_options() on whether to - * to emit the ON ERROR / EMPTY clauses. - */ if (colexpr->op == JSON_EXISTS_OP) { appendStringInfoString(buf, " EXISTS"); @@ -11798,6 +11795,9 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, default_behavior = JSON_BEHAVIOR_NULL; } + if (jexpr->on_error->btype == JSON_BEHAVIOR_ERROR) + default_behavior = JSON_BEHAVIOR_ERROR; + appendStringInfoString(buf, " PATH "); get_json_path_spec(colexpr->path_spec, context, showimplicit); @@ -11875,7 +11875,7 @@ get_json_table(TableFunc *tf, deparse_context *context, bool showimplicit) get_json_table_columns(tf, castNode(JsonTablePathScan, tf->plan), context, showimplicit); - if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY_ARRAY) + if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY) get_json_behavior(jexpr->on_error, context, "ERROR"); if (PRETTY_INDENT(context)) diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index 5c7aaa6159db5..721e01d6ad079 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -1132,46 +1132,3 @@ ERROR: invalid ON ERROR behavior for column "a" LINE 1: ...M JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty obje... ^ DETAIL: Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns. --- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY --- behavior -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); - QUERY PLAN ------------------------------------------------------------------------------------------------------ - Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) - Output: a - Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) -(3 rows) - -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); - QUERY PLAN --------------------------------------------------------------------------------------------------------------------- - Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) - Output: a - Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$') ERROR ON ERROR) -(3 rows) - --- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); - QUERY PLAN ------------------------------------------------------------------------------------------------------ - Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) - Output: a - Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) -(3 rows) - -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); - QUERY PLAN ------------------------------------------------------------------------------------------------------ - Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) - Output: a - Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) -(3 rows) - -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); - QUERY PLAN ------------------------------------------------------------------------------------------------------ - Table Function Scan on "json_table" (cost=0.01..1.00 rows=100 width=32) - Output: a - Table Function Call: JSON_TABLE('"a"'::jsonb, '$' AS json_table_path_0 COLUMNS (a text PATH '$')) -(3 rows) - diff --git a/src/test/regress/sql/sqljson_jsontable.sql b/src/test/regress/sql/sqljson_jsontable.sql index 31bc9c9ea0c30..38992316f5afe 100644 --- a/src/test/regress/sql/sqljson_jsontable.sql +++ b/src/test/regress/sql/sqljson_jsontable.sql @@ -542,13 +542,3 @@ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int) NULL ON ERROR); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int true on empty)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int omit quotes true on error)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty object on error)); - --- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY --- behavior -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); - --- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); -EXPLAIN VERBOSE SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); From df80f5f4e5677e4264a9a81973e6299490cd2818 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 13:25:02 +0900 Subject: [PATCH 39/45] SQL/JSON: Fix JSON_TABLE() column deparsing The deparsing code in get_json_expr_options() unnecessarily emitted the default column-specific ON ERROR / EMPTY behavior when the top-level ON ERROR behavior in JSON_TABLE was set to ERROR. Fix that by not overriding the column-specific default, determined based on the column's JsonExprOp in get_json_table_columns(), with JSON_BEHAVIOR_ERROR when that is the top-level ON ERROR behavior. Note that this only removes redundancy; the current deparsing output is not incorrect, just redundant. Reviewed-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/backend/utils/adt/ruleutils.c | 8 +++---- .../regress/expected/sqljson_jsontable.out | 23 +++++++++++++++++++ src/test/regress/sql/sqljson_jsontable.sql | 10 ++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index b31be31321dc3..371b46e7a2d92 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -11719,7 +11719,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, bool showimplicit) { StringInfo buf = context->buf; - JsonExpr *jexpr = castNode(JsonExpr, tf->docexpr); ListCell *lc_colname; ListCell *lc_coltype; ListCell *lc_coltypmod; @@ -11772,6 +11771,10 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, if (ordinality) continue; + /* + * Set default_behavior to guide get_json_expr_options() on whether to + * to emit the ON ERROR / EMPTY clauses. + */ if (colexpr->op == JSON_EXISTS_OP) { appendStringInfoString(buf, " EXISTS"); @@ -11795,9 +11798,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, default_behavior = JSON_BEHAVIOR_NULL; } - if (jexpr->on_error->btype == JSON_BEHAVIOR_ERROR) - default_behavior = JSON_BEHAVIOR_ERROR; - appendStringInfoString(buf, " PATH "); get_json_path_spec(colexpr->path_spec, context, showimplicit); diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index 721e01d6ad079..b661b5e2d131e 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -1132,3 +1132,26 @@ ERROR: invalid ON ERROR behavior for column "a" LINE 1: ...M JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty obje... ^ DETAIL: Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns. +-- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY +-- behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); +\sv json_table_view8; +CREATE OR REPLACE VIEW public.json_table_view8 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) + ) +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); +\sv json_table_view9; +CREATE OR REPLACE VIEW public.json_table_view9 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) ERROR ON ERROR + ) +DROP VIEW json_table_view8, json_table_view9; diff --git a/src/test/regress/sql/sqljson_jsontable.sql b/src/test/regress/sql/sqljson_jsontable.sql index 38992316f5afe..b533abf01ad9f 100644 --- a/src/test/regress/sql/sqljson_jsontable.sql +++ b/src/test/regress/sql/sqljson_jsontable.sql @@ -542,3 +542,13 @@ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int) NULL ON ERROR); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int true on empty)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int omit quotes true on error)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty object on error)); + +-- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY +-- behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); +\sv json_table_view8; + +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); +\sv json_table_view9; + +DROP VIEW json_table_view8, json_table_view9; From c70ff497f7132d5cb4125f50bab15d3ba77ebded Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 6 Sep 2024 13:25:14 +0900 Subject: [PATCH 40/45] SQL/JSON: Fix default ON ERROR behavior for JSON_TABLE Use EMPTY ARRAY instead of EMPTY. This change does not affect the runtime behavior of JSON_TABLE(), which continues to return an empty relation ON ERROR. It only alters whether the default ON ERROR behavior is shown in the deparsed output. Reported-by: Jian He Discussion: https://postgr.es/m/CACJufxEo4sUjKCYtda0_qt9tazqqKPmF1cqhW9KBOUeJFqQd2g@mail.gmail.com Backpatch-through: 17 --- src/backend/parser/parse_expr.c | 4 ++-- src/backend/utils/adt/ruleutils.c | 2 +- .../regress/expected/sqljson_jsontable.out | 22 +++++++++++++++++++ src/test/regress/sql/sqljson_jsontable.sql | 9 ++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 56e413da9f51f..36c1b7a88f2c3 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -4603,13 +4603,13 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) } /* - * Assume EMPTY ON ERROR when ON ERROR is not specified. + * Assume EMPTY ARRAY ON ERROR when ON ERROR is not specified. * * ON EMPTY cannot be specified at the top level but it can be for * the individual columns. */ jsexpr->on_error = transformJsonBehavior(pstate, func->on_error, - JSON_BEHAVIOR_EMPTY, + JSON_BEHAVIOR_EMPTY_ARRAY, jsexpr->returning); break; diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 371b46e7a2d92..cd9c3eddd1dd0 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -11875,7 +11875,7 @@ get_json_table(TableFunc *tf, deparse_context *context, bool showimplicit) get_json_table_columns(tf, castNode(JsonTablePathScan, tf->plan), context, showimplicit); - if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY) + if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY_ARRAY) get_json_behavior(jexpr->on_error, context, "ERROR"); if (PRETTY_INDENT(context)) diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index b661b5e2d131e..7a698934ac93a 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -1155,3 +1155,25 @@ CREATE OR REPLACE VIEW public.json_table_view9 AS ) ERROR ON ERROR ) DROP VIEW json_table_view8, json_table_view9; +-- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); +\sv json_table_view8; +CREATE OR REPLACE VIEW public.json_table_view8 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) + ) +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); +\sv json_table_view9; +CREATE OR REPLACE VIEW public.json_table_view9 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) + ) +DROP VIEW json_table_view8, json_table_view9; diff --git a/src/test/regress/sql/sqljson_jsontable.sql b/src/test/regress/sql/sqljson_jsontable.sql index b533abf01ad9f..154eea79c768a 100644 --- a/src/test/regress/sql/sqljson_jsontable.sql +++ b/src/test/regress/sql/sqljson_jsontable.sql @@ -552,3 +552,12 @@ CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a t \sv json_table_view9; DROP VIEW json_table_view8, json_table_view9; + +-- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); +\sv json_table_view8; + +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); +\sv json_table_view9; + +DROP VIEW json_table_view8, json_table_view9; From bf7e2c3b902508099787b0b94e147dfb22b32d44 Mon Sep 17 00:00:00 2001 From: Muhammad Usama Date: Mon, 16 Sep 2024 16:56:14 +0500 Subject: [PATCH 41/45] PG-1008: Change product name and version number Updated product name from PostgreSQL to Percona Server for PostgreSQL and incremented the version number from 17rc1 to 17rc1.1. --- configure | 18 +++++++++--------- configure.ac | 4 ++-- contrib/oid2name/oid2name.c | 2 +- contrib/vacuumlo/vacuumlo.c | 2 +- meson.build | 4 ++-- src/bin/initdb/initdb.c | 2 +- src/bin/pg_archivecleanup/pg_archivecleanup.c | 2 +- src/bin/pg_basebackup/pg_basebackup.c | 2 +- src/bin/pg_basebackup/pg_createsubscriber.c | 4 ++-- src/bin/pg_basebackup/pg_receivewal.c | 2 +- src/bin/pg_basebackup/pg_recvlogical.c | 2 +- src/bin/pg_checksums/pg_checksums.c | 2 +- src/bin/pg_controldata/pg_controldata.c | 2 +- src/bin/pg_ctl/pg_ctl.c | 4 ++-- src/bin/pg_dump/pg_dump.c | 2 +- src/bin/pg_dump/pg_dumpall.c | 4 ++-- src/bin/pg_dump/pg_restore.c | 2 +- src/bin/pg_resetwal/pg_resetwal.c | 2 +- src/bin/pg_rewind/pg_rewind.c | 2 +- src/bin/pg_test_fsync/pg_test_fsync.c | 2 +- src/bin/pg_test_timing/pg_test_timing.c | 2 +- src/bin/pg_upgrade/exec.c | 2 +- src/bin/pg_upgrade/option.c | 2 +- src/bin/pg_verifybackup/pg_verifybackup.c | 4 ++-- src/bin/pg_waldump/pg_waldump.c | 2 +- src/bin/pgbench/pgbench.c | 2 +- src/bin/psql/startup.c | 2 +- src/fe_utils/option_utils.c | 2 +- src/include/port.h | 2 +- src/interfaces/ecpg/preproc/ecpg.c | 2 +- src/test/isolation/isolation_main.c | 2 +- src/test/isolation/isolationtester.c | 2 +- src/test/regress/pg_regress.c | 2 +- 33 files changed, 47 insertions(+), 47 deletions(-) diff --git a/configure b/configure index 5f70dc964abe6..b9d31e818531c 100755 --- a/configure +++ b/configure @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='17rc1' -PACKAGE_STRING='PostgreSQL 17rc1' +PACKAGE_VERSION='17rc1.1' +PACKAGE_STRING='PostgreSQL 17rc1.1' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1450,7 +1450,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 17rc1 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 17rc1.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1515,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 17rc1:";; + short | recursive ) echo "Configuration of PostgreSQL 17rc1.1:";; esac cat <<\_ACEOF @@ -1690,7 +1690,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 17rc1 +PostgreSQL configure 17rc1.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2443,7 +2443,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 17rc1, which was +It was created by PostgreSQL $as_me 17rc1.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -19188,7 +19188,7 @@ fi cat >>confdefs.h <<_ACEOF -#define PG_VERSION_STR "PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit" +#define PG_VERSION_STR "Percona Server for PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit" _ACEOF @@ -19786,7 +19786,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 17rc1, which was +This file was extended by PostgreSQL $as_me 17rc1.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19857,7 +19857,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 17rc1 +PostgreSQL config.status 17rc1.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 23ae25b4aa858..84a9f440fdd15 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details. dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [17rc1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([Percona Server for PostgreSQL], [17rc1.1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not @@ -2437,7 +2437,7 @@ else fi AC_DEFINE_UNQUOTED(PG_VERSION_STR, - ["PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"], + ["Percona Server for PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"], [A string containing the version number, platform, and C compiler]) # Supply a numeric version string for use by 3rd party add-ons diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c index e8c1e2c97bd2f..d2551a8c2cd98 100644 --- a/contrib/oid2name/oid2name.c +++ b/contrib/oid2name/oid2name.c @@ -110,7 +110,7 @@ get_opts(int argc, char **argv, struct options *my_opts) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("oid2name (PostgreSQL) " PG_VERSION); + puts("oid2name (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c index 0d99428dec666..6b241b8b87e3f 100644 --- a/contrib/vacuumlo/vacuumlo.c +++ b/contrib/vacuumlo/vacuumlo.c @@ -480,7 +480,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("vacuumlo (PostgreSQL) " PG_VERSION); + puts("vacuumlo (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/meson.build b/meson.build index caad34185b75c..3289f41018575 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '17rc1', + version: '17rc1.1', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for @@ -2766,7 +2766,7 @@ cdata.set_quoted('DLSUFFIX', dlsuffix) # built later than the rest of the version metadata, we need SIZEOF_VOID_P cdata.set_quoted('PG_VERSION_STR', - 'PostgreSQL @0@ on @1@-@2@, compiled by @3@-@4@, @5@-bit'.format( + 'Percona Server for PostgreSQL @0@ on @1@-@2@, compiled by @3@-@4@, @5@-bit'.format( pg_version, host_machine.cpu_family(), host_system, cc.get_id(), cc.version(), cdata.get('SIZEOF_VOID_P') * 8, ) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index f00718a0150c2..34617d838cd81 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -3162,7 +3162,7 @@ main(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("initdb (PostgreSQL) " PG_VERSION); + puts("initdb (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_archivecleanup/pg_archivecleanup.c b/src/bin/pg_archivecleanup/pg_archivecleanup.c index 07bf356b70cb4..369d94782c486 100644 --- a/src/bin/pg_archivecleanup/pg_archivecleanup.c +++ b/src/bin/pg_archivecleanup/pg_archivecleanup.c @@ -307,7 +307,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_archivecleanup (PostgreSQL) " PG_VERSION); + puts("pg_archivecleanup (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c index 8f3dd04fd2226..ea582bb7836c5 100644 --- a/src/bin/pg_basebackup/pg_basebackup.c +++ b/src/bin/pg_basebackup/pg_basebackup.c @@ -2415,7 +2415,7 @@ main(int argc, char **argv) else if (strcmp(argv[1], "-V") == 0 || strcmp(argv[1], "--version") == 0) { - puts("pg_basebackup (PostgreSQL) " PG_VERSION); + puts("pg_basebackup (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c index 6b793931f3e84..be514c02f9003 100644 --- a/src/bin/pg_basebackup/pg_createsubscriber.c +++ b/src/bin/pg_basebackup/pg_createsubscriber.c @@ -344,7 +344,7 @@ get_exec_path(const char *argv0, const char *progname) char *exec_path; int ret; - versionstr = psprintf("%s (PostgreSQL) %s\n", progname, PG_VERSION); + versionstr = psprintf("%s (Percona Server for PostgreSQL) %s\n", progname, PG_VERSION); exec_path = pg_malloc(MAXPGPATH); ret = find_other_exec(argv0, progname, versionstr, exec_path); @@ -1916,7 +1916,7 @@ main(int argc, char **argv) else if (strcmp(argv[1], "-V") == 0 || strcmp(argv[1], "--version") == 0) { - puts("pg_createsubscriber (PostgreSQL) " PG_VERSION); + puts("pg_createsubscriber (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_basebackup/pg_receivewal.c b/src/bin/pg_basebackup/pg_receivewal.c index 555f0175f0e82..2cf046bdc5184 100644 --- a/src/bin/pg_basebackup/pg_receivewal.c +++ b/src/bin/pg_basebackup/pg_receivewal.c @@ -672,7 +672,7 @@ main(int argc, char **argv) else if (strcmp(argv[1], "-V") == 0 || strcmp(argv[1], "--version") == 0) { - puts("pg_receivewal (PostgreSQL) " PG_VERSION); + puts("pg_receivewal (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_basebackup/pg_recvlogical.c b/src/bin/pg_basebackup/pg_recvlogical.c index 3db520ed38b65..e51e92155e334 100644 --- a/src/bin/pg_basebackup/pg_recvlogical.c +++ b/src/bin/pg_basebackup/pg_recvlogical.c @@ -741,7 +741,7 @@ main(int argc, char **argv) else if (strcmp(argv[1], "-V") == 0 || strcmp(argv[1], "--version") == 0) { - puts("pg_recvlogical (PostgreSQL) " PG_VERSION); + puts("pg_recvlogical (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c index 4cfb9e2c79427..d9a288b9a38c3 100644 --- a/src/bin/pg_checksums/pg_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -464,7 +464,7 @@ main(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_checksums (PostgreSQL) " PG_VERSION); + puts("pg_checksums (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c index 93a05d80ca7b6..2d58fcef405f1 100644 --- a/src/bin/pg_controldata/pg_controldata.c +++ b/src/bin/pg_controldata/pg_controldata.c @@ -120,7 +120,7 @@ main(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_controldata (PostgreSQL) " PG_VERSION); + puts("pg_controldata (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 57ed8c8e294f5..d01ef5c730da1 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -896,7 +896,7 @@ do_init(void) char *cmd; if (exec_path == NULL) - exec_path = find_other_exec_or_die(argv0, "initdb", "initdb (PostgreSQL) " PG_VERSION "\n"); + exec_path = find_other_exec_or_die(argv0, "initdb", "initdb (Percona Server for PostgreSQL) " PG_VERSION "\n"); if (pgdata_opt == NULL) pgdata_opt = ""; @@ -2233,7 +2233,7 @@ main(int argc, char **argv) } else if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_ctl (PostgreSQL) " PG_VERSION); + puts("pg_ctl (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 9737e1e189f48..8074d83ca7e29 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -474,7 +474,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_dump (PostgreSQL) " PG_VERSION); + puts("pg_dump (Percona Server for PostgreSQL) " PG_VERSION); exit_nicely(0); } } diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index e3ad8fb295683..13a2d6ab609ad 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -31,7 +31,7 @@ #include "pg_backup.h" /* version string we expect back from pg_dump */ -#define PGDUMP_VERSIONSTR "pg_dump (PostgreSQL) " PG_VERSION "\n" +#define PGDUMP_VERSIONSTR "pg_dump (Percona Server for PostgreSQL) " PG_VERSION "\n" typedef struct { @@ -214,7 +214,7 @@ main(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_dumpall (PostgreSQL) " PG_VERSION); + puts("pg_dumpall (Percona Server for PostgreSQL) " PG_VERSION); exit_nicely(0); } } diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index df119591ccaa0..2558fb04d5fb5 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -150,7 +150,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_restore (PostgreSQL) " PG_VERSION); + puts("pg_restore (Percona Server for PostgreSQL) " PG_VERSION); exit_nicely(0); } } diff --git a/src/bin/pg_resetwal/pg_resetwal.c b/src/bin/pg_resetwal/pg_resetwal.c index e9dcb5a6d89d1..2947fd485544b 100644 --- a/src/bin/pg_resetwal/pg_resetwal.c +++ b/src/bin/pg_resetwal/pg_resetwal.c @@ -132,7 +132,7 @@ main(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_resetwal (PostgreSQL) " PG_VERSION); + puts("pg_resetwal (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c index 052c83b875702..1892db629783b 100644 --- a/src/bin/pg_rewind/pg_rewind.c +++ b/src/bin/pg_rewind/pg_rewind.c @@ -168,7 +168,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_rewind (PostgreSQL) " PG_VERSION); + puts("pg_rewind (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c index cbf587116eafb..cf21260fadb79 100644 --- a/src/bin/pg_test_fsync/pg_test_fsync.c +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -167,7 +167,7 @@ handle_args(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_test_fsync (PostgreSQL) " PG_VERSION); + puts("pg_test_fsync (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_test_timing/pg_test_timing.c b/src/bin/pg_test_timing/pg_test_timing.c index c29d6f8762947..2acc59893d706 100644 --- a/src/bin/pg_test_timing/pg_test_timing.c +++ b/src/bin/pg_test_timing/pg_test_timing.c @@ -61,7 +61,7 @@ handle_args(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_test_timing (PostgreSQL) " PG_VERSION); + puts("pg_test_timing (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_upgrade/exec.c b/src/bin/pg_upgrade/exec.c index 058530ab3e9e6..7b337270d3215 100644 --- a/src/bin/pg_upgrade/exec.c +++ b/src/bin/pg_upgrade/exec.c @@ -448,7 +448,7 @@ check_exec(const char *dir, const char *program, bool check_version) { pg_strip_crlf(line); - snprintf(versionstr, sizeof(versionstr), "%s (PostgreSQL) " PG_VERSION, program); + snprintf(versionstr, sizeof(versionstr), "%s (Percona Server for PostgreSQL) " PG_VERSION, program); if (strcmp(line, versionstr) != 0) pg_fatal("check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"", diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c index 548ea4e623656..d8c33658611cd 100644 --- a/src/bin/pg_upgrade/option.c +++ b/src/bin/pg_upgrade/option.c @@ -95,7 +95,7 @@ parseCommandLine(int argc, char *argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_upgrade (PostgreSQL) " PG_VERSION); + puts("pg_upgrade (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pg_verifybackup/pg_verifybackup.c b/src/bin/pg_verifybackup/pg_verifybackup.c index d77e70fbe3874..7e1001a0c1535 100644 --- a/src/bin/pg_verifybackup/pg_verifybackup.c +++ b/src/bin/pg_verifybackup/pg_verifybackup.c @@ -211,7 +211,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_verifybackup (PostgreSQL) " PG_VERSION); + puts("pg_verifybackup (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } @@ -310,7 +310,7 @@ main(int argc, char **argv) pg_waldump_path = pg_malloc(MAXPGPATH); ret = find_other_exec(argv[0], "pg_waldump", - "pg_waldump (PostgreSQL) " PG_VERSION "\n", + "pg_waldump (Percona Server for PostgreSQL) " PG_VERSION "\n", pg_waldump_path); if (ret < 0) { diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c index 1f9403fc5cf4b..016825f46c798 100644 --- a/src/bin/pg_waldump/pg_waldump.c +++ b/src/bin/pg_waldump/pg_waldump.c @@ -844,7 +844,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pg_waldump (PostgreSQL) " PG_VERSION); + puts("pg_waldump (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 86ffb3c8683d0..ddaa6925cfb2b 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -6723,7 +6723,7 @@ main(int argc, char **argv) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - puts("pgbench (PostgreSQL) " PG_VERSION); + puts("pgbench (Percona Server for PostgreSQL) " PG_VERSION); exit(0); } } diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 036caaec2ffca..56c11544f8635 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -838,7 +838,7 @@ process_psqlrc_file(char *filename) static void showVersion(void) { - puts("psql (PostgreSQL) " PG_VERSION); + puts("psql (Percona Server for PostgreSQL) " PG_VERSION); } diff --git a/src/fe_utils/option_utils.c b/src/fe_utils/option_utils.c index 7828ae2b2f2b2..ed7c8c3a87ade 100644 --- a/src/fe_utils/option_utils.c +++ b/src/fe_utils/option_utils.c @@ -33,7 +33,7 @@ handle_help_version_opts(int argc, char *argv[], } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - printf("%s (PostgreSQL) " PG_VERSION "\n", fixed_progname); + printf("%s (Percona Server for PostgreSQL) " PG_VERSION "\n", fixed_progname); exit(0); } } diff --git a/src/include/port.h b/src/include/port.h index ae115d2d970d2..2867945c44baf 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -140,7 +140,7 @@ extern int find_other_exec(const char *argv0, const char *target, extern char *pipe_read_line(char *cmd); /* Doesn't belong here, but this is used with find_other_exec(), so... */ -#define PG_BACKEND_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n" +#define PG_BACKEND_VERSIONSTR "postgres (Percona Server for PostgreSQL) " PG_VERSION "\n" #ifdef EXEC_BACKEND /* Disable ASLR before exec, for developer builds only (in exec.c) */ diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c index 73c37631acc6e..76f5e28ba7a96 100644 --- a/src/interfaces/ecpg/preproc/ecpg.c +++ b/src/interfaces/ecpg/preproc/ecpg.c @@ -162,7 +162,7 @@ main(int argc, char *const argv[]) } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - printf("ecpg (PostgreSQL) %s\n", PG_VERSION); + printf("ecpg (Percona Server for PostgreSQL) %s\n", PG_VERSION); exit(0); } } diff --git a/src/test/isolation/isolation_main.c b/src/test/isolation/isolation_main.c index 2a3e41d2101e7..572fd15941f7a 100644 --- a/src/test/isolation/isolation_main.c +++ b/src/test/isolation/isolation_main.c @@ -19,7 +19,7 @@ char saved_argv0[MAXPGPATH]; char isolation_exec[MAXPGPATH]; bool looked_up_isolation_exec = false; -#define PG_ISOLATION_VERSIONSTR "isolationtester (PostgreSQL) " PG_VERSION "\n" +#define PG_ISOLATION_VERSIONSTR "isolationtester (Percona Server for PostgreSQL) " PG_VERSION "\n" /* * start an isolation tester process for specified file (including diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c index 0b342b5c2bbba..8e97630c3f7ff 100644 --- a/src/test/isolation/isolationtester.c +++ b/src/test/isolation/isolationtester.c @@ -99,7 +99,7 @@ main(int argc, char **argv) switch (opt) { case 'V': - puts("isolationtester (PostgreSQL) " PG_VERSION); + puts("isolationtester (Percona Server for PostgreSQL) " PG_VERSION); exit(0); default: fprintf(stderr, "Usage: isolationtester [CONNINFO]\n"); diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 9ff0a2d65e217..b490a7c116439 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -2140,7 +2140,7 @@ regression_main(int argc, char *argv[], help(); exit(0); case 'V': - puts("pg_regress (PostgreSQL) " PG_VERSION); + puts("pg_regress (Percona Server for PostgreSQL) " PG_VERSION); exit(0); case 1: From 1d5761ad2847bac03b8bad0cb73a586bb23b62e8 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Sun, 15 Sep 2024 17:50:39 +0100 Subject: [PATCH 42/45] Basic test for PG17 This commit adds two test runners which build Postgres with make and meson, and run the basic regression tests. Tests are executed for every PR, and also every day using the latest pg_tde code. --- .../postgresql-current-make-debug.yml | 61 +++++++++++++++++ .../postgresql-current-meson-debug.yml | 68 +++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 .github/workflows/postgresql-current-make-debug.yml create mode 100644 .github/workflows/postgresql-current-meson-debug.yml diff --git a/.github/workflows/postgresql-current-make-debug.yml b/.github/workflows/postgresql-current-make-debug.yml new file mode 100644 index 0000000000000..d932db0f3eef4 --- /dev/null +++ b/.github/workflows/postgresql-current-make-debug.yml @@ -0,0 +1,61 @@ +name: postgresql-current-make-debug +on: + schedule: + - cron: "0 0 * * *" + pull_request: + workflow_dispatch: + +jobs: + build: + name: pg-current-make-debug + runs-on: ubuntu-22.04 + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \ + zlib1g-dev libssl-dev libpam0g-dev bison flex \ + libipc-run-perl -y docbook-xsl docbook-xsl libxml2 libxml2-utils \ + libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \ + libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \ + llvm-11 llvm-11-dev libselinux1-dev python3-dev \ + uuid-dev liblz4-dev meson ninja-build \ + gpg wget libcurl4-openssl-dev libhttp-server-simple-perl + sudo /usr/bin/perl -MCPAN -e 'install IPC::Run' + sudo /usr/bin/perl -MCPAN -e 'install Text::Trim' + wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list + sudo apt update && sudo apt install -y vault + + - name: Clone repository + uses: actions/checkout@v4 + with: + path: 'src' + ref: ${{ github.ref }} + + - name: Checkout submodules + run: | + git submodule update --init --recursive + cd contrib/pg_tde + git checkout main + git pull + ./configure + working-directory: src + + - name: Build postgres + run: | + ./configure --enable-debug --enable-cassert --enable-tap-tests + make + + working-directory: src + + - name: Test postgres + run: | + TV=$(mktemp) + { exec >$TV; vault server -dev; } & + sleep 10 + export ROOT_TOKEN=$(cat $TV | grep "Root Token" | cut -d ":" -f 2 | xargs echo -n) + echo "Root token: $ROOT_TOKEN" + + make check + working-directory: src diff --git a/.github/workflows/postgresql-current-meson-debug.yml b/.github/workflows/postgresql-current-meson-debug.yml new file mode 100644 index 0000000000000..f3a98a58b240a --- /dev/null +++ b/.github/workflows/postgresql-current-meson-debug.yml @@ -0,0 +1,68 @@ +name: postgresql-current-meson-debug +on: + schedule: + - cron: "0 0 * * *" + pull_request: + workflow_dispatch: + +jobs: + build: + name: pg-current-meson-debug + runs-on: ubuntu-22.04 + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \ + zlib1g-dev libssl-dev libpam0g-dev bison flex \ + libipc-run-perl -y docbook-xsl docbook-xsl libxml2 libxml2-utils \ + libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \ + libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \ + llvm-11 llvm-11-dev libselinux1-dev python3-dev \ + uuid-dev liblz4-dev meson ninja-build \ + gpg wget libcurl4-openssl-dev libhttp-server-simple-perl + sudo /usr/bin/perl -MCPAN -e 'install IPC::Run' + sudo /usr/bin/perl -MCPAN -e 'install Text::Trim' + wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list + sudo apt update && sudo apt install -y vault + + - name: Clone repository + uses: actions/checkout@v4 + with: + path: 'src' + ref: ${{ github.ref }} + + - name: Checkout submodules + run: | + git submodule update --init --recursive + cd contrib/pg_tde + git checkout main + git pull + working-directory: src + + - name: Build postgres + run: | + meson setup build --prefix `pwd`/../inst --buildtype=debug -Dcassert=true -Dtap_tests=enabled + cd build && ninja && ninja install + working-directory: src + + - name: Test postgres + run: | + TV=$(mktemp) + { exec >$TV; vault server -dev; } & + sleep 10 + export ROOT_TOKEN=$(cat $TV | grep "Root Token" | cut -d ":" -f 2 | xargs echo -n) + echo "Root token: $ROOT_TOKEN" + + meson test + working-directory: src/build + + - name: Report on test fail + uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: Regressions diff and postgresql log + path: | + src/build/testrun/ + retention-days: 3 From d280540fbe33dc0adc8dd8f0fcfcb17dc70fe864 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Mon, 16 Sep 2024 20:55:33 +0100 Subject: [PATCH 43/45] PERCONA_EXT is now a configuration option, not hardcoded This way the build scripts are aware of its value, and we can use it to add tests specifically to tde_heap, or other percona features. --- configure | 45 ++++++++++++++++++++++++++++++---- configure.ac | 7 ++++++ meson.build | 1 + meson_options.txt | 5 ++++ src/include/pg_config.h.in | 4 +++ src/include/pg_config_manual.h | 5 ---- 6 files changed, 57 insertions(+), 10 deletions(-) diff --git a/configure b/configure index 5f70dc964abe6..f9e824cbb7522 100755 --- a/configure +++ b/configure @@ -762,6 +762,7 @@ CPPFLAGS LDFLAGS CFLAGS CC +enable_percona_ext enable_injection_points enable_tap_tests enable_dtrace @@ -844,6 +845,7 @@ enable_coverage enable_dtrace enable_tap_tests enable_injection_points +enable_percona_ext with_blocksize with_segsize with_segsize_blocks @@ -1538,6 +1540,7 @@ Optional Features: --enable-tap-tests enable TAP tests (requires Perl and IPC::Run) --enable-injection-points enable injection points (for testing) + --disable-percona-ext enable Percona specific features --enable-depend turn on automatic dependency tracking --enable-cassert enable assertion checks (for debugging) --disable-largefile omit support for large files @@ -3716,6 +3719,38 @@ fi +# +# Percona ext +# + + +# Check whether --enable-percona-ext was given. +if test "${enable_percona_ext+set}" = set; then : + enableval=$enable_percona_ext; + case $enableval in + yes) + +$as_echo "#define PERCONA_EXT 1" >>confdefs.h + + ;; + no) + : + ;; + *) + as_fn_error $? "no argument expected for --enable-percona-ext option" "$LINENO" 5 + ;; + esac + +else + enable_percona_ext=yes + +$as_echo "#define PERCONA_EXT 1" >>confdefs.h + +fi + + + + # # Block size # @@ -14899,7 +14934,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -14945,7 +14980,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -14969,7 +15004,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -15014,7 +15049,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -15038,7 +15073,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; diff --git a/configure.ac b/configure.ac index 23ae25b4aa858..c1554dc26577f 100644 --- a/configure.ac +++ b/configure.ac @@ -256,6 +256,13 @@ PGAC_ARG_BOOL(enable, injection-points, no, [enable injection points (for testin [AC_DEFINE([USE_INJECTION_POINTS], 1, [Define to 1 to build with injection points. (--enable-injection-points)])]) AC_SUBST(enable_injection_points) +# +# Percona ext +# +PGAC_ARG_BOOL(enable, percona-ext, yes, [enable Percona specific features], + [AC_DEFINE([PERCONA_EXT], 1, [Define to 1 to build with Percona specific features. (--enable-percona-ext)])]) +AC_SUBST(enable_percona_ext) + # # Block size # diff --git a/meson.build b/meson.build index caad34185b75c..e86c2b1b7f481 100644 --- a/meson.build +++ b/meson.build @@ -427,6 +427,7 @@ meson_bin = find_program(meson_binpath, native: true) cdata.set('USE_ASSERT_CHECKING', get_option('cassert') ? 1 : false) cdata.set('USE_INJECTION_POINTS', get_option('injection_points') ? 1 : false) +cdata.set('PERCONA_EXT', get_option('percona_ext') ? 1 : false) blocksize = get_option('blocksize').to_int() * 1024 diff --git a/meson_options.txt b/meson_options.txt index 246cecf382712..5a57cda3bf09b 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -215,3 +215,8 @@ option('ZSTD', type: 'string', value: 'zstd', option('ZIC', type: 'string', value: 'zic', description: 'Path to zic binary, when cross-compiling') + +# Percona options + +option('percona_ext', type: 'boolean', value: true, + description: 'Enable Percona specific features') diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 6d9a0d001f437..76181d795c3a5 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -607,6 +607,10 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define to 1 to build with Percona specific features. (--enable-percona-ext) + */ +#undef PERCONA_EXT + /* Define to the name of a signed 128-bit integer type. */ #undef PG_INT128_TYPE diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index 6406a599fdabf..f941ee2faf86b 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h @@ -383,8 +383,3 @@ * Enable tracing of syncscan operations (see also the trace_syncscan GUC var). */ /* #define TRACE_SYNCSCAN */ - -/* - * Enable Percona specific features, should always be defined in this fork - */ -#define PERCONA_EXT 1 From 85edf9209d2ebb9383b8a602895fd3d9a9ea6de3 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Tue, 24 Sep 2024 23:07:10 +0100 Subject: [PATCH 44/45] PG-1059: Generalize upgrade version string matcher --- src/bin/pg_upgrade/exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/exec.c b/src/bin/pg_upgrade/exec.c index 7b337270d3215..d98f853ba380b 100644 --- a/src/bin/pg_upgrade/exec.c +++ b/src/bin/pg_upgrade/exec.c @@ -51,7 +51,7 @@ get_bin_version(ClusterInfo *cluster) pg_fatal("could not get pg_ctl version data using %s: %s", cmd, wait_result_to_str(rc)); - if (sscanf(cmd_output, "%*s %*s %d.%d", &v1, &v2) < 1) + if (sscanf(cmd_output, "%*s (%*[^)]) %d.%d", &v1, &v2) < 1) pg_fatal("could not get pg_ctl version output from %s", cmd); if (v1 < 10) From a09e4811fb3ae38c088e604aa679a3609a7901c9 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Tue, 24 Sep 2024 23:26:48 +0100 Subject: [PATCH 45/45] PG-1059: Fix pgbench test check --- src/bin/pgbench/t/002_pgbench_no_server.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pgbench/t/002_pgbench_no_server.pl b/src/bin/pgbench/t/002_pgbench_no_server.pl index a04b3531f42d3..87dffbc52fb3f 100644 --- a/src/bin/pgbench/t/002_pgbench_no_server.pl +++ b/src/bin/pgbench/t/002_pgbench_no_server.pl @@ -247,7 +247,7 @@ sub pgbench_scripts 'pgbench help'); # Version -pgbench('-V', 0, [qr{^pgbench .PostgreSQL. }], [qr{^$}], 'pgbench version'); +pgbench('-V', 0, [qr{^pgbench .Percona Server for PostgreSQL. }], [qr{^$}], 'pgbench version'); # list of builtins pgbench(