diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
commit | 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch) | |
tree | 0ec307299b1dada3701e42f4ca6eda57d708261e /src/bin/pg_test_fsync | |
parent | Initial commit. (diff) | |
download | postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.tar.xz postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.zip |
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/bin/pg_test_fsync')
-rw-r--r-- | src/bin/pg_test_fsync/.gitignore | 3 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/Makefile | 36 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/nls.mk | 6 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/pg_test_fsync.c | 652 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/de.po | 224 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/el.po | 228 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/es.po | 228 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/fr.po | 242 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/it.po | 226 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/ja.po | 237 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/ka.po | 226 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/ko.po | 241 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/pt_BR.po | 227 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/ru.po | 238 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/sv.po | 229 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/po/uk.po | 211 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/t/001_basic.pl | 29 |
17 files changed, 3483 insertions, 0 deletions
diff --git a/src/bin/pg_test_fsync/.gitignore b/src/bin/pg_test_fsync/.gitignore new file mode 100644 index 0000000..5eb5085 --- /dev/null +++ b/src/bin/pg_test_fsync/.gitignore @@ -0,0 +1,3 @@ +/pg_test_fsync + +/tmp_check/ diff --git a/src/bin/pg_test_fsync/Makefile b/src/bin/pg_test_fsync/Makefile new file mode 100644 index 0000000..631d0f3 --- /dev/null +++ b/src/bin/pg_test_fsync/Makefile @@ -0,0 +1,36 @@ +# src/bin/pg_test_fsync/Makefile + +PGFILEDESC = "pg_test_fsync - test various disk sync methods" +PGAPPICON = win32 + +subdir = src/bin/pg_test_fsync +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + +OBJS = \ + $(WIN32RES) \ + pg_test_fsync.o + +all: pg_test_fsync + +pg_test_fsync: $(OBJS) | submake-libpgport + $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) + +install: all installdirs + $(INSTALL_PROGRAM) pg_test_fsync$(X) '$(DESTDIR)$(bindir)/pg_test_fsync$(X)' + +installdirs: + $(MKDIR_P) '$(DESTDIR)$(bindir)' + +check: + $(prove_check) + +installcheck: + $(prove_installcheck) + +uninstall: + rm -f '$(DESTDIR)$(bindir)/pg_test_fsync$(X)' + +clean distclean maintainer-clean: + rm -f pg_test_fsync$(X) $(OBJS) + rm -rf tmp_check diff --git a/src/bin/pg_test_fsync/nls.mk b/src/bin/pg_test_fsync/nls.mk new file mode 100644 index 0000000..0062983 --- /dev/null +++ b/src/bin/pg_test_fsync/nls.mk @@ -0,0 +1,6 @@ +# src/bin/pg_test_fsync/nls.mk +CATALOG_NAME = pg_test_fsync +AVAIL_LANGUAGES = de el es fr it ja ka ko pt_BR ru sv uk +GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) pg_test_fsync.c +GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS) die +GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS) diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c new file mode 100644 index 0000000..f7bc199 --- /dev/null +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -0,0 +1,652 @@ +/* + * pg_test_fsync.c + * tests all supported fsync() methods + */ + +#include "postgres_fe.h" + +#include <limits.h> +#include <sys/stat.h> +#include <sys/time.h> +#include <fcntl.h> +#include <time.h> +#include <unistd.h> +#include <signal.h> + +#include "access/xlogdefs.h" +#include "common/logging.h" +#include "common/pg_prng.h" +#include "getopt_long.h" + +/* + * put the temp files in the local directory + * unless the user specifies otherwise + */ +#define FSYNC_FILENAME "./pg_test_fsync.out" + +#define XLOG_BLCKSZ_K (XLOG_BLCKSZ / 1024) + +#define LABEL_FORMAT " %-30s" +#define NA_FORMAT "%21s\n" +/* translator: maintain alignment with NA_FORMAT */ +#define OPS_FORMAT gettext_noop("%13.3f ops/sec %6.0f usecs/op\n") +#define USECS_SEC 1000000 + +/* These are macros to avoid timing the function call overhead. */ +#ifndef WIN32 +#define START_TIMER \ +do { \ + alarm_triggered = false; \ + alarm(secs_per_test); \ + gettimeofday(&start_t, NULL); \ +} while (0) +#else +/* WIN32 doesn't support alarm, so we create a thread and sleep there */ +#define START_TIMER \ +do { \ + alarm_triggered = false; \ + if (CreateThread(NULL, 0, process_alarm, NULL, 0, NULL) == \ + INVALID_HANDLE_VALUE) \ + pg_fatal("could not create thread for alarm"); \ + gettimeofday(&start_t, NULL); \ +} while (0) +#endif + +#define STOP_TIMER \ +do { \ + gettimeofday(&stop_t, NULL); \ + print_elapse(start_t, stop_t, ops); \ +} while (0) + + +static const char *progname; + +static unsigned int secs_per_test = 5; +static int needs_unlink = 0; +static char full_buf[DEFAULT_XLOG_SEG_SIZE], + *buf, + *filename = FSYNC_FILENAME; +static struct timeval start_t, + stop_t; +static bool alarm_triggered = false; + + +static void handle_args(int argc, char *argv[]); +static void prepare_buf(void); +static void test_open(void); +static void test_non_sync(void); +static void test_sync(int writes_per_op); +static void test_open_syncs(void); +static void test_open_sync(const char *msg, int writes_size); +static void test_file_descriptor_sync(void); + +#ifndef WIN32 +static void process_alarm(int sig); +#else +static DWORD WINAPI process_alarm(LPVOID param); +#endif +static void signal_cleanup(int sig); + +#ifdef HAVE_FSYNC_WRITETHROUGH +static int pg_fsync_writethrough(int fd); +#endif +static void print_elapse(struct timeval start_t, struct timeval stop_t, int ops); + +#define die(msg) pg_fatal("%s: %m", _(msg)) + + +int +main(int argc, char *argv[]) +{ + pg_logging_init(argv[0]); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_test_fsync")); + progname = get_progname(argv[0]); + + handle_args(argc, argv); + + /* Prevent leaving behind the test file */ + pqsignal(SIGINT, signal_cleanup); + pqsignal(SIGTERM, signal_cleanup); +#ifndef WIN32 + pqsignal(SIGALRM, process_alarm); +#endif +#ifdef SIGHUP + /* Not defined on win32 */ + pqsignal(SIGHUP, signal_cleanup); +#endif + + pg_prng_seed(&pg_global_prng_state, (uint64) time(NULL)); + + prepare_buf(); + + test_open(); + + /* Test using 1 XLOG_BLCKSZ write */ + test_sync(1); + + /* Test using 2 XLOG_BLCKSZ writes */ + test_sync(2); + + test_open_syncs(); + + test_file_descriptor_sync(); + + test_non_sync(); + + unlink(filename); + + return 0; +} + +static void +handle_args(int argc, char *argv[]) +{ + static struct option long_options[] = { + {"filename", required_argument, NULL, 'f'}, + {"secs-per-test", required_argument, NULL, 's'}, + {NULL, 0, NULL, 0} + }; + + int option; /* Command line option */ + int optindex = 0; /* used by getopt_long */ + unsigned long optval; /* used for option parsing */ + char *endptr; + + if (argc > 1) + { + if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0) + { + printf(_("Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n"), progname); + exit(0); + } + if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) + { + puts("pg_test_fsync (PostgreSQL) " PG_VERSION); + exit(0); + } + } + + while ((option = getopt_long(argc, argv, "f:s:", + long_options, &optindex)) != -1) + { + switch (option) + { + case 'f': + filename = pg_strdup(optarg); + break; + + case 's': + errno = 0; + optval = strtoul(optarg, &endptr, 10); + + if (endptr == optarg || *endptr != '\0' || + errno != 0 || optval != (unsigned int) optval) + { + pg_log_error("invalid argument for option %s", "--secs-per-test"); + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(1); + } + + secs_per_test = (unsigned int) optval; + if (secs_per_test == 0) + pg_fatal("%s must be in range %u..%u", + "--secs-per-test", 1, UINT_MAX); + break; + + default: + /* getopt_long already emitted a complaint */ + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(1); + } + } + + if (argc > optind) + { + pg_log_error("too many command-line arguments (first is \"%s\")", + argv[optind]); + pg_log_error_hint("Try \"%s --help\" for more information.", progname); + exit(1); + } + + printf(ngettext("%u second per test\n", + "%u seconds per test\n", + secs_per_test), + secs_per_test); +#if defined(O_DIRECT) + printf(_("O_DIRECT supported on this platform for open_datasync and open_sync.\n")); +#elif defined(F_NOCACHE) + printf(_("F_NOCACHE supported on this platform for open_datasync and open_sync.\n")); +#else + printf(_("Direct I/O is not supported on this platform.\n")); +#endif +} + +static void +prepare_buf(void) +{ + int ops; + + /* write random data into buffer */ + for (ops = 0; ops < DEFAULT_XLOG_SEG_SIZE; ops++) + full_buf[ops] = (char) pg_prng_int32(&pg_global_prng_state); + + buf = (char *) TYPEALIGN(XLOG_BLCKSZ, full_buf); +} + +static void +test_open(void) +{ + int tmpfile; + + /* + * test if we can open the target file + */ + if ((tmpfile = open(filename, O_RDWR | O_CREAT | PG_BINARY, S_IRUSR | S_IWUSR)) == -1) + die("could not open output file"); + needs_unlink = 1; + if (write(tmpfile, full_buf, DEFAULT_XLOG_SEG_SIZE) != + DEFAULT_XLOG_SEG_SIZE) + die("write failed"); + + /* fsync now so that dirty buffers don't skew later tests */ + if (fsync(tmpfile) != 0) + die("fsync failed"); + + close(tmpfile); +} + +static int +open_direct(const char *path, int flags, mode_t mode) +{ + int fd; + +#ifdef O_DIRECT + flags |= O_DIRECT; +#endif + + fd = open(path, flags, mode); + +#if !defined(O_DIRECT) && defined(F_NOCACHE) + if (fd >= 0 && fcntl(fd, F_NOCACHE, 1) < 0) + { + int save_errno = errno; + + close(fd); + errno = save_errno; + return -1; + } +#endif + + return fd; +} + +static void +test_sync(int writes_per_op) +{ + int tmpfile, + ops, + writes; + bool fs_warning = false; + + if (writes_per_op == 1) + printf(_("\nCompare file sync methods using one %dkB write:\n"), XLOG_BLCKSZ_K); + else + printf(_("\nCompare file sync methods using two %dkB writes:\n"), XLOG_BLCKSZ_K); + printf(_("(in wal_sync_method preference order, except fdatasync is Linux's default)\n")); + + /* + * Test open_datasync if available + */ + printf(LABEL_FORMAT, "open_datasync"); + fflush(stdout); + +#ifdef OPEN_DATASYNC_FLAG + if ((tmpfile = open_direct(filename, O_RDWR | O_DSYNC | PG_BINARY, 0)) == -1) + { + printf(NA_FORMAT, _("n/a*")); + fs_warning = true; + } + else + { + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + for (writes = 0; writes < writes_per_op; writes++) + if (pg_pwrite(tmpfile, + buf, + XLOG_BLCKSZ, + writes * XLOG_BLCKSZ) != XLOG_BLCKSZ) + die("write failed"); + } + STOP_TIMER; + close(tmpfile); + } +#else + printf(NA_FORMAT, _("n/a")); +#endif + +/* + * Test fdatasync if available + */ + printf(LABEL_FORMAT, "fdatasync"); + fflush(stdout); + +#ifdef HAVE_FDATASYNC + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + for (writes = 0; writes < writes_per_op; writes++) + if (pg_pwrite(tmpfile, + buf, + XLOG_BLCKSZ, + writes * XLOG_BLCKSZ) != XLOG_BLCKSZ) + die("write failed"); + fdatasync(tmpfile); + } + STOP_TIMER; + close(tmpfile); +#else + printf(NA_FORMAT, _("n/a")); +#endif + +/* + * Test fsync + */ + printf(LABEL_FORMAT, "fsync"); + fflush(stdout); + + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + for (writes = 0; writes < writes_per_op; writes++) + if (pg_pwrite(tmpfile, + buf, + XLOG_BLCKSZ, + writes * XLOG_BLCKSZ) != XLOG_BLCKSZ) + die("write failed"); + if (fsync(tmpfile) != 0) + die("fsync failed"); + } + STOP_TIMER; + close(tmpfile); + +/* + * If fsync_writethrough is available, test as well + */ + printf(LABEL_FORMAT, "fsync_writethrough"); + fflush(stdout); + +#ifdef HAVE_FSYNC_WRITETHROUGH + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + for (writes = 0; writes < writes_per_op; writes++) + if (pg_pwrite(tmpfile, + buf, + XLOG_BLCKSZ, + writes * XLOG_BLCKSZ) != XLOG_BLCKSZ) + die("write failed"); + if (pg_fsync_writethrough(tmpfile) != 0) + die("fsync failed"); + } + STOP_TIMER; + close(tmpfile); +#else + printf(NA_FORMAT, _("n/a")); +#endif + +/* + * Test open_sync if available + */ + printf(LABEL_FORMAT, "open_sync"); + fflush(stdout); + +#ifdef OPEN_SYNC_FLAG + if ((tmpfile = open_direct(filename, O_RDWR | OPEN_SYNC_FLAG | PG_BINARY, 0)) == -1) + { + printf(NA_FORMAT, _("n/a*")); + fs_warning = true; + } + else + { + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + for (writes = 0; writes < writes_per_op; writes++) + if (pg_pwrite(tmpfile, + buf, + XLOG_BLCKSZ, + writes * XLOG_BLCKSZ) != XLOG_BLCKSZ) + + /* + * This can generate write failures if the filesystem has + * a large block size, e.g. 4k, and there is no support + * for O_DIRECT writes smaller than the file system block + * size, e.g. XFS. + */ + die("write failed"); + } + STOP_TIMER; + close(tmpfile); + } +#else + printf(NA_FORMAT, _("n/a")); +#endif + + if (fs_warning) + { + printf(_("* This file system and its mount options do not support direct\n" + " I/O, e.g. ext4 in journaled mode.\n")); + } +} + +static void +test_open_syncs(void) +{ + printf(_("\nCompare open_sync with different write sizes:\n")); + printf(_("(This is designed to compare the cost of writing 16kB in different write\n" + "open_sync sizes.)\n")); + + test_open_sync(_(" 1 * 16kB open_sync write"), 16); + test_open_sync(_(" 2 * 8kB open_sync writes"), 8); + test_open_sync(_(" 4 * 4kB open_sync writes"), 4); + test_open_sync(_(" 8 * 2kB open_sync writes"), 2); + test_open_sync(_("16 * 1kB open_sync writes"), 1); +} + +/* + * Test open_sync with different size files + */ +static void +test_open_sync(const char *msg, int writes_size) +{ +#ifdef OPEN_SYNC_FLAG + int tmpfile, + ops, + writes; +#endif + + printf(LABEL_FORMAT, msg); + fflush(stdout); + +#ifdef OPEN_SYNC_FLAG + if ((tmpfile = open_direct(filename, O_RDWR | OPEN_SYNC_FLAG | PG_BINARY, 0)) == -1) + printf(NA_FORMAT, _("n/a*")); + else + { + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + for (writes = 0; writes < 16 / writes_size; writes++) + if (pg_pwrite(tmpfile, + buf, + writes_size * 1024, + writes * writes_size * 1024) != + writes_size * 1024) + die("write failed"); + } + STOP_TIMER; + close(tmpfile); + } +#else + printf(NA_FORMAT, _("n/a")); +#endif +} + +static void +test_file_descriptor_sync(void) +{ + int tmpfile, + ops; + + /* + * Test whether fsync can sync data written on a different descriptor for + * the same file. This checks the efficiency of multi-process fsyncs + * against the same file. Possibly this should be done with writethrough + * on platforms which support it. + */ + printf(_("\nTest if fsync on non-write file descriptor is honored:\n")); + printf(_("(If the times are similar, fsync() can sync data written on a different\n" + "descriptor.)\n")); + + /* + * first write, fsync and close, which is the normal behavior without + * multiple descriptors + */ + printf(LABEL_FORMAT, "write, fsync, close"); + fflush(stdout); + + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + if (write(tmpfile, buf, XLOG_BLCKSZ) != XLOG_BLCKSZ) + die("write failed"); + if (fsync(tmpfile) != 0) + die("fsync failed"); + close(tmpfile); + + /* + * open and close the file again to be consistent with the following + * test + */ + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + close(tmpfile); + } + STOP_TIMER; + + /* + * Now open, write, close, open again and fsync This simulates processes + * fsyncing each other's writes. + */ + printf(LABEL_FORMAT, "write, close, fsync"); + fflush(stdout); + + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + if (write(tmpfile, buf, XLOG_BLCKSZ) != XLOG_BLCKSZ) + die("write failed"); + close(tmpfile); + /* reopen file */ + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + if (fsync(tmpfile) != 0) + die("fsync failed"); + close(tmpfile); + } + STOP_TIMER; +} + +static void +test_non_sync(void) +{ + int tmpfile, + ops; + + /* + * Test a simple write without fsync + */ + printf(_("\nNon-sync'ed %dkB writes:\n"), XLOG_BLCKSZ_K); + printf(LABEL_FORMAT, "write"); + fflush(stdout); + + if ((tmpfile = open(filename, O_RDWR | PG_BINARY, 0)) == -1) + die("could not open output file"); + START_TIMER; + for (ops = 0; alarm_triggered == false; ops++) + { + if (pg_pwrite(tmpfile, buf, XLOG_BLCKSZ, 0) != XLOG_BLCKSZ) + die("write failed"); + } + STOP_TIMER; + close(tmpfile); +} + +static void +signal_cleanup(int signum) +{ + /* Delete the file if it exists. Ignore errors */ + if (needs_unlink) + unlink(filename); + /* Finish incomplete line on stdout */ + puts(""); + exit(signum); +} + +#ifdef HAVE_FSYNC_WRITETHROUGH + +static int +pg_fsync_writethrough(int fd) +{ +#ifdef WIN32 + return _commit(fd); +#elif defined(F_FULLFSYNC) + return (fcntl(fd, F_FULLFSYNC, 0) == -1) ? -1 : 0; +#else + errno = ENOSYS; + return -1; +#endif +} +#endif + +/* + * print out the writes per second for tests + */ +static void +print_elapse(struct timeval start_t, struct timeval stop_t, int ops) +{ + double total_time = (stop_t.tv_sec - start_t.tv_sec) + + (stop_t.tv_usec - start_t.tv_usec) * 0.000001; + double per_second = ops / total_time; + double avg_op_time_us = (total_time / ops) * USECS_SEC; + + printf(_(OPS_FORMAT), per_second, avg_op_time_us); +} + +#ifndef WIN32 +static void +process_alarm(int sig) +{ + alarm_triggered = true; +} +#else +static DWORD WINAPI +process_alarm(LPVOID param) +{ + /* WIN32 doesn't support alarm, so we create a thread and sleep here */ + Sleep(secs_per_test * 1000); + alarm_triggered = true; + ExitThread(0); +} +#endif diff --git a/src/bin/pg_test_fsync/po/de.po b/src/bin/pg_test_fsync/po/de.po new file mode 100644 index 0000000..906080e --- /dev/null +++ b/src/bin/pg_test_fsync/po/de.po @@ -0,0 +1,224 @@ +# German message translation file for pg_test_fsync +# Copyright (C) 2017-2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-05-11 15:51+0000\n" +"PO-Revision-Date: 2022-05-11 22:41+0200\n" +"Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n" +"Language-Team: German <pgsql-translators@postgresql.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../../../src/common/logging.c:277 +#, c-format +msgid "error: " +msgstr "Fehler: " + +#: ../../../src/common/logging.c:284 +#, c-format +msgid "warning: " +msgstr "Warnung: " + +#: ../../../src/common/logging.c:295 +#, c-format +msgid "detail: " +msgstr "Detail: " + +#: ../../../src/common/logging.c:302 +#, c-format +msgid "hint: " +msgstr "Tipp: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr " %13.3f Op./s %6.0f µs/Op.\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "konnte Thread für Alarm nicht erzeugen" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Aufruf: %s [-f DATEINAME] [-s SEK-PRO-TEST]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "ungültiges Argument für Option %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Versuchen Sie »%s --help« für weitere Informationen." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s muss im Bereich %u..%u sein" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u Sekunde pro Test\n" +msgstr[1] "%u Sekunden pro Test\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT wird auf dieser Plattform für open_datasync und open_sync unterstützt.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE wird auf dieser Plattform für open_datasync und open_sync unterstützt.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Direct-I/O wird auf dieser Plattform nicht unterstützt.\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 +msgid "could not open output file" +msgstr "konnte Ausgabedatei nicht öffnen" + +#: 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 +msgid "write failed" +msgstr "Schreiben fehlgeschlagen" + +#: 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 +msgid "fsync failed" +msgstr "fsync fehlgeschlagen" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Vergleich von Datei-Sync-Methoden bei einem Schreibvorgang aus %dkB:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Vergleich von Datei-Sync-Methoden bei zwei Schreibvorgängen aus je %dkB:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(in Rangordnung von wal_sync_method, außer dass fdatasync auf Linux Standard ist)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +msgid "n/a*" +msgstr "entf.*" + +#: 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 +msgid "n/a" +msgstr "entf." + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Dieses Dateisystem und die Mount-Optionen unterstützen kein Direct-I/O,\n" +" z.B. ext4 im Journaled-Modus.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Vergleich von open_sync mit verschiedenen Schreibgrößen:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Damit werden die Kosten für das Schreiben von 16kB in verschieden Größen mit\n" +"open_sync verglichen.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16kB open_sync schreiben" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8kB open_sync schreiben" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB open_sync schreiben" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB open_sync schreiben" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB open_sync schreiben" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Probe ob fsync auf einem anderen Dateideskriptor funktioniert:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Wenn die Zeiten ähnlich sind, dann kann fsync() auf einem anderen Deskriptor\n" +"geschriebene Daten syncen.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Nicht gesynctes Schreiben von %dkB:\n" diff --git a/src/bin/pg_test_fsync/po/el.po b/src/bin/pg_test_fsync/po/el.po new file mode 100644 index 0000000..4cd3771 --- /dev/null +++ b/src/bin/pg_test_fsync/po/el.po @@ -0,0 +1,228 @@ +# Greek message translation file for pg_test_fsync +# Copyright (C) 2021 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_test_fsync (PostgreSQL) package. +# Georgios Kokolatos <gkokolatos@pm.me>, 2021 +# +# +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-04-14 09:21+0000\n" +"PO-Revision-Date: 2023-04-14 14:41+0200\n" +"Last-Translator: Georgios Kokolatos <gkokolatos@pm.me>\n" +"Language-Team: \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 3.2.2\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "σφάλμα: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "προειδοποίηση: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "λεπτομέρεια: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "υπόδειξη: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ops/sec %6.0f usecs/op\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "δεν ήταν δυνατή η δημιουργία νήματος για ειδοποίηση" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Χρήση: %s [-f FILENAME] [-s SECS-PER-TEST]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "μη έγκυρη παράμετρος για την επιλογή %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s πρέπει να βρίσκεται εντός εύρους %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u δευτερόλεπτο ανά τεστ\n" +msgstr[1] "%u δευτερόλεπτα ανά τεστ\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT υποστηρίζεται σε αυτήν την πλατφόρμα για open_datasync και open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE υποστηρίζεται σε αυτήν την πλατφόρμα για open_datasync και open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Άμεσο I/O δεν υποστηρίζεται σε αυτήν την πλατφόρμα.\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 +msgid "could not open output file" +msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου εξόδου" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "απέτυχε η εγγραφή" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "fsync απέτυχε" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Συγκρίνετε τις μεθόδους συγχρονισμού αρχείων χρησιμοποιώντας μία εγγραφή %dkB:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Συγκρίνετε τις μεθόδους συγχρονισμού αρχείων χρησιμοποιώντας δύο εγγραφές %dkB:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(με wal_sync_method σειρά προτίμησης, εκτός από fdatasync είναι η προεπιλογή σε Linux)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Αυτό το σύστημα αρχείων και οι επιλογές προσάρτησής του δεν υποστηρίζουν\n" +" άμεσο I/O, π.χ. ext4 σε λειτουργία journal.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Συγκρίνετε open_sync με διαφορετικά μεγέθη εγγραφής:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Αυτό έχει σχεδιαστεί για να συγκρίνει το κόστος της γραφής 16kB σε διαφορετικά\n" +"μεγέθη open_sync.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16kB open_sync εγγραφή" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8kB open_sync εγγραφές" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB open_sync εγγραφές" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB open_sync εγγραφές" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB open_sync εγγραφές" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Ελέγξτε εάν τηρείται το fsync σε μη-εγγράψιμο περιγραφέα αρχείων:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Εάν οι χρόνοι είναι παρόμοιοι, το fsync() μπορεί να συγχρονίσει δεδομένα εγγεγραμμένα\n" +"σε διαφορετικό περιγραφέα.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Μη-συγχρονισμένες %dkB εγγραφές:\n" diff --git a/src/bin/pg_test_fsync/po/es.po b/src/bin/pg_test_fsync/po/es.po new file mode 100644 index 0000000..44505fd --- /dev/null +++ b/src/bin/pg_test_fsync/po/es.po @@ -0,0 +1,228 @@ +# Spanish message translation file for pg_test_fsync +# +# Copyright (c) 2017-2021, PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# +# Carlos Chapi <carloswaldo@babelruins.org>, 2017, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-05-07 16:51+0000\n" +"PO-Revision-Date: 2022-10-20 09:06+0200\n" +"Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n" +"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 2.4.3\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "error: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "precaución: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalle: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "consejo: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ops/seg %6.0f usegs/op\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "no se pudo crear el thread para la alarma" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Empleo: %s [-f ARCHIVO] [-s SEG-POR-PRUEBA]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "argumento no válido para la opción %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Pruebe «%s --help» para mayor información." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s debe estar en el rango %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u segundo por prueba\n" +msgstr[1] "%u segundos por prueba\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT tiene soporte en esta plataforma para open_datasync y open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE tiene soporte en esta plataforma para open_datasync y open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Direct I/O no está soportado en esta plataforma.\n" + +#: pg_test_fsync.c:245 pg_test_fsync.c: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 +msgid "could not open output file" +msgstr "no se pudo abrir el archivo de salida" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c: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 +msgid "write failed" +msgstr "escritura falló" + +#: 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 +msgid "fsync failed" +msgstr "fsync falló" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Comparar métodos de sincronización de archivos usando una escritura de %dkB:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Comparar métodos de sincronización de archivos usando dos escrituras de %dkB:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(en orden de preferencia de wal_sync_method, excepto en Linux donde fdatasync es el predeterminado)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Este sistema de archivos con sus opciones de montaje no soportan\n" +" Direct I/O, e.g. ext4 en modo journal.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Comparar open_sync con diferentes tamaños de escritura:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Esto está diseñado para comparar el costo de escribir 16kB en diferentes\n" +"tamaños de escrituras open_sync.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16kB escritura open_sync" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8kB escrituras open_sync" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB escrituras open_sync" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB escrituras open_sync" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB escrituras open_sync" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Probar si se respeta fsync en un descriptor de archivo que no es de escritura:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Si los tiempos son similares, fsync() puede sincronizar datos escritos\n" +"en un descriptor diferente.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Escrituras de %dkB no sincronizadas:\n" diff --git a/src/bin/pg_test_fsync/po/fr.po b/src/bin/pg_test_fsync/po/fr.po new file mode 100644 index 0000000..dfedfe8 --- /dev/null +++ b/src/bin/pg_test_fsync/po/fr.po @@ -0,0 +1,242 @@ +# LANGUAGE message translation file for pg_test_fsync +# Copyright (C) 2017-2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_test_fsync (PostgreSQL) package. +# +# Use these quotes: « %s » +# +# Guillaume Lelarge <guillaume@lelarge.info>, 2017-2022. +# +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" +"Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n" +"Language-Team: French <guillaume@lelarge.info>\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.0.1\n" + +#: ../../../src/common/logging.c:277 +#, c-format +msgid "error: " +msgstr "erreur : " + +#: ../../../src/common/logging.c:284 +#, c-format +msgid "warning: " +msgstr "attention : " + +#: ../../../src/common/logging.c:295 +#, c-format +msgid "detail: " +msgstr "détail : " + +#: ../../../src/common/logging.c:302 +#, c-format +msgid "hint: " +msgstr "astuce : " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ops/sec %6.0f usecs/op\n" + +#: pg_test_fsync.c:50 +#, 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 +#, c-format +msgid "%s: %m" +msgstr "%s : %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Usage: %s [-f NOMFICHIER] [-s SECS-PAR-TEST]\n" + +#: pg_test_fsync.c:185 +#, 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 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Essayez « %s --help » pour plus d'informations." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s doit être compris entre %u et %u" + +#: pg_test_fsync.c:205 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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 +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 +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 +msgid "fsync failed" +msgstr "échec de la synchronisation (fsync)" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Comparer les méthodes de synchronisation de fichier en utilisant une écriture de %d Ko :\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +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 +#, 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" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* 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 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Comparer open_sync avec différentes tailles d'écriture :\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +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 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16 Ko, écriture avec open_sync" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8 Ko, écriture avec open_sync" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4 Ko, écriture avec open_sync" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2 Ko, écriture avec open_sync" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr " 16 * 1 Ko, écriture avec open_sync" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Teste si fsync est honoré sur un descripteur de fichiers sans écriture :\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +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 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"%d Ko d'écritures non synchronisées :\n" + +#~ msgid "%s: %s\n" +#~ msgstr "%s : %s\n" + +#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" +#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" + +#~ msgid "seek failed" +#~ msgstr "seek échoué" diff --git a/src/bin/pg_test_fsync/po/it.po b/src/bin/pg_test_fsync/po/it.po new file mode 100644 index 0000000..c381e27 --- /dev/null +++ b/src/bin/pg_test_fsync/po/it.po @@ -0,0 +1,226 @@ +# LANGUAGE message translation file for pg_test_fsync +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_test_fsync (PostgreSQL) package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-09-26 08:21+0000\n" +"PO-Revision-Date: 2022-09-30 14:56+0200\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Last-Translator: Domenico Sgarbossa <sgarbossa.domenico@gmail.com>\n" +"Language-Team: \n" +"X-Generator: Poedit 2.3\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "errore:" + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "avvertimento: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "dettaglio: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "suggerimento: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f operazioni/sec %6.0f operazioni/sec\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "non è stato possibile creare thread per l'allarme" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Utilizzo: %s [-f FILENAME] [-s SECS-PER-TEST]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "argomento non valido per l'opzione %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Prova \"%s --help\" per maggiori informazioni." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s deve essere compreso nell'intervallo %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "troppi argomenti della riga di comando (il primo è \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u secondo per test\n" +msgstr[1] "%u secondi per test\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT supportato su questa piattaforma per open_datasync e open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE supportato su questa piattaforma per open_datasync e open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "L'I/O diretto non è supportato su questa piattaforma.\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 +msgid "could not open output file" +msgstr "impossibile aprire il file di output" + +#: 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 +msgid "write failed" +msgstr "scrittura fallita" + +#: 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 +msgid "fsync failed" +msgstr "fsync non è riuscito" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Confronta i metodi di sincronizzazione dei file utilizzando una scrittura di %dkB:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Confronta i metodi di sincronizzazione dei file utilizzando due scritture %dkB:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(nell'ordine di preferenza wal_sync_method, tranne che fdatasync è l'impostazione predefinita di Linux)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Questo file system e le sue opzioni di montaggio non supportano Direct\n" +" I/O, ad es. ext4 in modalità journal.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Confronta open_sync con diverse dimensioni di scrittura:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Questo è progettato per confrontare il costo di scrittura di 16kB in diverse scritture\n" +"dimensioni open_sync.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16 kB di scrittura open_sync" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8 kB di scritture open_sync" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB di scrittura open_sync" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB di scritture open_sync" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB di scrittura open_sync" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Verifica se fsync sul descrittore di file non di scrittura è rispettato:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Se i tempi sono simili, fsync() può sincronizzare i dati scritti su un altro\n" +"descrittore.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"%dkB non sincronizzato scrive:\n" diff --git a/src/bin/pg_test_fsync/po/ja.po b/src/bin/pg_test_fsync/po/ja.po new file mode 100644 index 0000000..59d3caa --- /dev/null +++ b/src/bin/pg_test_fsync/po/ja.po @@ -0,0 +1,237 @@ +# LANGUAGE message translation file for pg_test_fsync +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_test_fsync (PostgreSQL) package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL 15)\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-08-09 12:01+0900\n" +"PO-Revision-Date: 2022-05-10 15:25+0900\n" +"Last-Translator: Michihide Hotta <hotta@net-newbie.com>\n" +"Language-Team: \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.8.13\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "エラー: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "警告: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "詳細: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "ヒント: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f 操作/秒 %6.0f マイクロ秒/操作\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "アラーム用のスレッドを生成できませんでした" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "使用法: %s [-f ファイル名] [-s テストあたりの秒数]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "オプション%sの引数が不正です" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "詳細は\"%s --help\"を実行してください。" + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%sは%u..%uの範囲でなければなりません" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "コマンドライン引数が多すぎます。(先頭は\"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "テスト1件あたり %u秒\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "このプラットフォームでは open_datasync と open_sync について O_DIRECT がサポートされています。\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "このプラットフォームでは open_datasync と open_sync について F_NOCACHE がサポートされています。\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "このプラットフォームではダイレクト I/O がサポートされていません。\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 +msgid "could not open output file" +msgstr "出力ファイルをオープンできませんでした" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "書き込みに失敗" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "fsync に失敗" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"1個の %dkB write を使ってファイル同期メソッドを比較します:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"2個の %dkB write を使ってファイル同期メソッドを比較します:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(wal_sync_method の指定順の中で、Linux のデフォルトである fdatasync は除きます)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +msgid "n/a*" +msgstr "利用不可*" + +#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 +#: pg_test_fsync.c:439 pg_test_fsync.c:498 +msgid "n/a" +msgstr "利用不可" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* このファイルシステムとそのマウントオプションではダイレクト I/O をサポート\n" +" していません。例)ジャーナルモードの ext4。\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"open_sync を異なった write サイズで比較します:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(これは open_sync の write サイズを変えながら、16kB write のコストを\n" +"比較するよう指定されています。)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16kB open_sync write" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8kB open_sync writes" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB open_sync writes" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB open_sync writes" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB open_sync writes" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"書き込みなしのファイルディスクリプタ上の fsync の方が優れているかをテストします:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(もし実行時間が同等であれば、fsync() は異なったファイルディスクリプタ上で\n" +"データを sync できることになります。)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"%dkB の sync なし write:\n" + +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "\"%s --help\" で詳細を確認してください。\n" + +#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" +#~ msgstr "%s: コマンドライン引数が多すぎます(先頭は \"%s\")\n" + +#~ msgid "seek failed" +#~ msgstr "seek 失敗" + +#~ msgid "%s: %s\n" +#~ msgstr "%s: %s\n" diff --git a/src/bin/pg_test_fsync/po/ka.po b/src/bin/pg_test_fsync/po/ka.po new file mode 100644 index 0000000..b151f70 --- /dev/null +++ b/src/bin/pg_test_fsync/po/ka.po @@ -0,0 +1,226 @@ +# Georgian message translation file for pg_test_fsync +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_test_fsync (PostgreSQL) package. +# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-07-02 04:51+0000\n" +"PO-Revision-Date: 2022-07-05 05:20+0200\n" +"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n" +"Language-Team: Georgian <nothing>\n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "შეცდომა: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "გაფრთხილება: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "დეტალები: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "მინიშნება: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ოპ/წმ %6.0f მკწმ/ოპ\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "გაფრთხილების ძაფის შექმნა შეუძლებელია" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "გამოყენება: %s [-f ფაილისსახელი] [-s წამიტესტი]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "არასწორი არგუმენტი პარამეტრისთვის: %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s- %u-დან %u-მდე დიაპაზონში უნდა იყოს" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u second per test\n" +msgstr[1] "%u seconds per test\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "ამ პლატფორმაზე O_DIRECT მხარდაჭერილია open_datasync და open_sync-სთვის.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "ამ პლატფორმაზე F_NOCACHE მხარდაჭერილია open_datasync და open_sync-სთვის.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "DIRECT I/O ამ პლატფორმაზე მხარდაჭერილი არაა.\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 +msgid "could not open output file" +msgstr "გამოტანის ფაილის გახსნის შეცდომა" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "ჩაწერის შეცდომა" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "fsync-ის შეცდომა" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"სინქრნიზაციის მეთოდების შედარება ერთი %dკბ ჩაწერით:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"სინქრნიზაციის მეთოდების შედარება ორი %dკბ ჩაწერით:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(wal_sync_method -ის რჩეული მიმდევრობით, fdatasync-ის გარდა, რომელიც ლინუქსზე ნაგულისხმებია)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* ამ ფაილურ სისტემას და მის მიმაგრების პარამეტრებს პირდაპირი შეტანა/გამოტანის\n" +"მხარდაჭერა არ გააჩნიათ. მაგ: ext4 ჟურნალის მხარდაჭერით.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"open_sync-ის შედარება ჩაწერის სხვაფასხვა ზომებით:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(განკუთვნილია 16კბ-ის ჩაწერის ფასის გასარკვევად \n" +"open_sync-ის სხვადსხვა ზომების დროს.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16კბ open_sync ჩაწერა" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8კბ open_sync ჩაწერა" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4კბ open_sync ჩაწერა" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2კბ open_sync ჩაწერა" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1კბ open_sync ჩაწერა" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"შემოწმება, ხდება თუ არა fsync ფაილის მითითებით, რომელიც კთხვისთვისაა გახსნილი.\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(თუ დროები ჰგვანან, fsync()-ს შეუძლია მონაცემების სინქრონიზაცია,\n" +"რომელიც სხვა დესკრიპტორით ჩაიწერა)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"არასინქრონიზებული %dკბ ჩაწერები:\n" diff --git a/src/bin/pg_test_fsync/po/ko.po b/src/bin/pg_test_fsync/po/ko.po new file mode 100644 index 0000000..bed484d --- /dev/null +++ b/src/bin/pg_test_fsync/po/ko.po @@ -0,0 +1,241 @@ +# LANGUAGE message translation file for pg_test_fsync +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Ioseph Kim <ioseph@uri.sarang.net>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-04-12 00:51+0000\n" +"PO-Revision-Date: 2023-04-05 18:08+0900\n" +"Last-Translator: Ioseph Kim <ioseph@uri.sarang.net>\n" +"Language-Team: Korean <pgsql-kr@postgresql.kr>\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "오류: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "경고: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ops/sec %6.0f usecs/op\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "알람용 쓰레드를 만들 수 없음" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "사용법: %s [-f 파일이름] [-s 검사초]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "%s 옵션의 잘못된 인자" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s 값은 %u부터 %u까지 지정할 수 있습니다." + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "너무 많은 명령행 인자를 지정했습니다. (처음 \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "검사 간격: %u초\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "" +"이 플랫폼에서는 open_datasync, open_sync 에서 O_DIRECT 옵션을 지원함.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "" +"이 플랫폼에서는 open_datasync, open_sync 에서 F_NOCACHE 옵션을 지원함.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "이 플랫폼은 direct I/O 기능을 지원하지 않음.\n" + +#: pg_test_fsync.c: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 +msgid "could not open output file" +msgstr "출력 파일을 열 수 없음" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "쓰기 실패" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "fsync 실패" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"하나의 %dkB 쓰기에 대한 파일 싱크 방법 비교:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"두개의 %dkB 쓰기에 대한 파일 싱크 방법 비교:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "" +"(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "" +"(fdatasync가 리눅스 기본값이기에 제외하고, wal_sync_method 우선으로 처리 " +"함)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* 이 파일 시스템과 마운트 옵션이 direct I/O 기능을 지원하지 않음\n" +" 예: journaled mode에서 ext4\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"서로 다른 쓰기량으로 open_sync 비교:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(서로 다른 크기로 16kB를 쓰는데, open_sync 옵션을 사용할 때의 비용 비교)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16kB open_sync 쓰기" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8kB open_sync 쓰기" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB open_sync 쓰기" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB open_sync 쓰기" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB open_sync 쓰기" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"쓰기 방지 파일에서 fsync 작동 여부 검사:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(이 값이 비슷하다면, fsync() 호출로 여러 파일 상태에 대해서 sync를 사용\n" +"할 수 있음.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Non-sync %dkB 쓰기:\n" + +#~ msgid "%s: %s\n" +#~ msgstr "%s: %s\n" + +#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" +#~ msgstr "%s: 너무 많은 명령행 인자를 지정했음 (시작은 \"%s\")\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "자세한 사용법은 \"%s --help\" 명령을 이용하세요.\n" + +#~ msgid "seek failed" +#~ msgstr "찾기 실패" diff --git a/src/bin/pg_test_fsync/po/pt_BR.po b/src/bin/pg_test_fsync/po/pt_BR.po new file mode 100644 index 0000000..f809766 --- /dev/null +++ b/src/bin/pg_test_fsync/po/pt_BR.po @@ -0,0 +1,227 @@ +# Brazilian Portuguese message translation file for pg_test_fsync +# +# Copyright (C) 2022 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# +# Euler Taveira <euler@eulerto.com>, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-09-27 13:15-0300\n" +"PO-Revision-Date: 2022-09-27 18:50-0300\n" +"Last-Translator: Euler Taveira <euler@eulerto.com>\n" +"Language-Team: Brazilian Portuguese <pgsql-translators@postgresql.org>\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>1);\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "erro: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "aviso: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalhe: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "dica: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ops/seg %6.0f usecs/op\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "não pôde criar thread para alarme" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Uso: %s [-f ARQUIVO] [-s SEGS-POR-TESTE]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "argumento inválido para opção %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Tente \"%s --help\" para obter informações adicionais." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s deve estar no intervalo de %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "muitos argumentos de linha de comando (primeiro é \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u segundo por teste\n" +msgstr[1] "%u segundos por teste\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT suportado nesta plataforma para open_datasync e open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE suportado nesta plataforma para open_datasync e open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Direct I/O não é suportado nesta plataforma.\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 +msgid "could not open output file" +msgstr "não pôde abrir arquivo de saída" + +#: 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 +msgid "write failed" +msgstr "escrita falhou" + +#: 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 +msgid "fsync failed" +msgstr "fsync falhou" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Compara métodos de sincronização de arquivos utilizando uma escrita de %dkB:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Compara métodos de sincronização de arquivos utilizando duas escritas de %dkB:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(em ordem de preferência do wal_sync_method, exceto fdatasync que é o padrão do Linux)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +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 +msgid "n/a" +msgstr "n/a" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Este sistema de arquivos e suas opções de montagem não suportam\n" +" direct I/O, e.g. ext4 em modo journal.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Compara open_sync com diferentes tamanhos de escrita:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Isso é projetado para comparar o custo de escrita de 16jB em diferentes tamanhos\n" +"de escrita com open_sync.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * escrita de 16kB open_sync" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * escritas de 8kB open_sync" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * escritas de 4kB open_sync" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * escritas de 2kB open_sync" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * escritas de 1kB open_sync" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Testar se o fsync em um descritor de arquivo sem escrita é respeitado:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Se os tempos são similares, fsync() pode sincronizar dados escritos em um\n" +"descritor diferente.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Escritas de %dkB não sincronizadas:\n" diff --git a/src/bin/pg_test_fsync/po/ru.po b/src/bin/pg_test_fsync/po/ru.po new file mode 100644 index 0000000..5ba3586 --- /dev/null +++ b/src/bin/pg_test_fsync/po/ru.po @@ -0,0 +1,238 @@ +# Russian message translation file for pg_test_fsync +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2021, 2022. +msgid "" +msgstr "" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 10\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"PO-Revision-Date: 2022-09-05 13:36+0300\n" +"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" +"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "ошибка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "предупреждение: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "подробности: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "подсказка: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f оп/с %6.0f мкс/оп\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "не удалось создать поток для обработки сигналов" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Использование: %s [-f ИМЯ_ФАЙЛА ] [-s ТЕСТ_СЕК]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "недопустимый аргумент параметра %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Для дополнительной информации попробуйте \"%s --help\"." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "значение %s должно быть в диапазоне %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "слишком много аргументов командной строки (первый: \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "на тест отводится %u сек.\n" +msgstr[1] "на тест отводится %u сек.\n" +msgstr[2] "на тест отводится %u сек.\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "" +"O_DIRECT на этой платформе не поддерживается для open_datasync и open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "" +"F_NOCACHE на этой платформе поддерживается для open_datasync и open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Прямой ввод/вывод не поддерживается на этой платформе.\n" + +#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 +#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 +#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +msgid "could not open output file" +msgstr "не удалось открыть выходной файл" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "ошибка записи" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "ошибка синхронизации с ФС" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Сравнение методов синхронизации файлов при однократной записи %d КБ:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Сравнение методов синхронизации файлов при двухкратной записи %d КБ:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "" +"(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "" +"(в порядке предпочтения для wal_sync_method, без учёта наибольшего " +"предпочтения fdatasync в Linux)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +msgid "n/a*" +msgstr "н/д*" + +#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 +#: pg_test_fsync.c:439 pg_test_fsync.c:498 +msgid "n/a" +msgstr "н/д" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Эта файловая система с текущими параметрами монтирования не поддерживает\n" +" прямой ввод/вывод, как например, ext4 в режиме журналирования.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Сравнение open_sync при различных объёмах записываемых данных:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Этот тест предназначен для сравнения стоимости записи 16 КБ при разных " +"размерах\n" +"записи с open_sync.)\n" + +# skip-rule: double-space +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr "запись с open_sync 1 * 16 КБ" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr "запись с open_sync 2 * 8 КБ" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr "запись с open_sync 4 * 4 КБ" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr "запись с open_sync 8 * 2 КБ" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "запись с open_sync 16 * 1 КБ" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Проверка, производится ли fsync с указателем файла, открытого не для " +"записи:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Если длительность примерно одинаковая, fsync() может синхронизировать " +"данные,\n" +"записанные через другой дескриптор.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Несинхронизированная запись %d КБ:\n" + +#~ msgid "seek failed" +#~ msgstr "ошибка позиционирования" diff --git a/src/bin/pg_test_fsync/po/sv.po b/src/bin/pg_test_fsync/po/sv.po new file mode 100644 index 0000000..45f059e --- /dev/null +++ b/src/bin/pg_test_fsync/po/sv.po @@ -0,0 +1,229 @@ +# Swedish message translation file for pg_test_fsync +# Copyright (C) 2017 PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020, 2021, 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 15\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-05-09 18:51+0000\n" +"PO-Revision-Date: 2022-05-09 21:44+0200\n" +"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n" +"Language-Team: Swedish <pgsql-translators@postgresql.org>\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../../src/common/logging.c:277 +#, c-format +msgid "error: " +msgstr "fel: " + +#: ../../../src/common/logging.c:284 +#, c-format +msgid "warning: " +msgstr "varning: " + +#: ../../../src/common/logging.c:295 +#, c-format +msgid "detail: " +msgstr "detalj: " + +#: ../../../src/common/logging.c:302 +#, c-format +msgid "hint: " +msgstr "tips: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f ops/sek %6.0f useks/op\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "kunde inte skapa alarmtråd" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Användning: %s [-f FILENAMN] [-s SEK-PER-TEST]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "ogiltigt argument för flaggan %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Försök med \"%s --help\" för mer information." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s måste vara i intervallet %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "för många kommandoradsargument (första är \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u sekund per test\n" +msgstr[1] "%u sekunder per test\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT stöds på denna plattform för open_datasync och open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE stöds på denna plattform för open_datasync och open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Direkt I/O stöds inte på denna plattform.\n" + +#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 +#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 +#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +msgid "could not open output file" +msgstr "kunde inte öppna utdatafil" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "skrivning misslyckades" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "fsync misslyckades" + +#: pg_test_fsync.c:292 +#, c-format +msgid "" +"\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "" +"\n" +"Jämför filsynkningsmetoder genom att använda en %dkB-skrivning:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "" +"\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "" +"\n" +"Jämför filsynkningsmetoder genom att använda två %dkB-skrivningar:\n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(i wal_sync_method inställningsordning, förutom att fdatasync är standard i Linux)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +msgid "n/a*" +msgstr "ej tillämpbar*" + +#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 +#: pg_test_fsync.c:439 pg_test_fsync.c:498 +msgid "n/a" +msgstr "ej tillämpbar" + +#: pg_test_fsync.c:444 +#, c-format +msgid "" +"* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "" +"* Detta filsystem och dess monteringsflaffor stöder inte\n" +" direkt I/O, t.ex. ext4 i journalläge.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "" +"\n" +"Compare open_sync with different write sizes:\n" +msgstr "" +"\n" +"Jämför open_sync med olika skrivstorlekar:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "" +"(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "" +"(Detta är gjort för att jämföra kostnaden att skriva 16kB med olika\n" +"open_sync skrivstorlekar.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " 1 * 16kB open_sync skrivning" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " 2 * 8kB open_sync skrivningar" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " 4 * 4kB open_sync skrivningar" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " 8 * 2kB open_sync skrivningar" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "16 * 1kB open_sync skrivningar" + +#: pg_test_fsync.c:514 +#, c-format +msgid "" +"\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "" +"\n" +"Testa om fsync på en icke skrivbar fildeskriptor respekteras:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "" +"(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "" +"(Om tiderna är liknande, så kan fsync() synka data skriven på\n" +"olika deskriptorer.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "" +"\n" +"Non-sync'ed %dkB writes:\n" +msgstr "" +"\n" +"Icke-synkade %dkB-skrivningar:\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "Försök med \"%s --help\" för mer information.\n" diff --git a/src/bin/pg_test_fsync/po/uk.po b/src/bin/pg_test_fsync/po/uk.po new file mode 100644 index 0000000..00a789b --- /dev/null +++ b/src/bin/pg_test_fsync/po/uk.po @@ -0,0 +1,211 @@ +msgid "" +msgstr "" +"Project-Id-Version: postgresql\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2022-08-12 10:51+0000\n" +"PO-Revision-Date: 2022-09-13 11:52\n" +"Last-Translator: \n" +"Language-Team: Ukrainian\n" +"Language: uk_UA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"X-Crowdin-Project: postgresql\n" +"X-Crowdin-Project-ID: 324573\n" +"X-Crowdin-Language: uk\n" +"X-Crowdin-File: /REL_15_STABLE/pg_test_fsync.pot\n" +"X-Crowdin-File-ID: 886\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "помилка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "попередження: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "деталі: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "підказка: " + +#. translator: maintain alignment with NA_FORMAT +#: pg_test_fsync.c:32 +#, c-format +msgid "%13.3f ops/sec %6.0f usecs/op\n" +msgstr "%13.3f оп/с %6.0f мкс/оп\n" + +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "не вдалося створити потік для сигналізації" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 +#, c-format +msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" +msgstr "Використання: %s [-f FILENAME] [-s SECS-PER-TEST]\n" + +#: pg_test_fsync.c:185 +#, c-format +msgid "invalid argument for option %s" +msgstr "неприпустимий аргумент для параметру %s" + +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Спробуйте \"%s --help\" для додаткової інформації." + +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s має бути в діапазоні %u..%u" + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "забагато аргументів у командному рядку (перший \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "%u секунда на тест\n" +msgstr[1] "%u секунди на тест\n" +msgstr[2] "%u секунд на тест\n" +msgstr[3] "%u секунд на тест\n" + +#: pg_test_fsync.c:216 +#, c-format +msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" +msgstr "O_DIRECT на цій платформі підтримується для open_datasync і open_sync.\n" + +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "F_NOCACHE підтримується на цій платформі для open_datasync і open_sync.\n" + +#: pg_test_fsync.c:220 +#, c-format +msgid "Direct I/O is not supported on this platform.\n" +msgstr "Пряме введення/виведення не підтримується на цій платформі.\n" + +#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 +#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 +#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +msgid "could not open output file" +msgstr "неможливо відкрити файл виводу" + +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 +#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 +#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 +#: pg_test_fsync.c:590 +msgid "write failed" +msgstr "записування не вдалося" + +#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 +#: pg_test_fsync.c:533 pg_test_fsync.c:565 +msgid "fsync failed" +msgstr "помилка fsync" + +#: pg_test_fsync.c:292 +#, c-format +msgid "\n" +"Compare file sync methods using one %dkB write:\n" +msgstr "\n" +"Порівнювання методів синхронізації файлу, використовуючи один запис %dkB:\n" + +#: pg_test_fsync.c:294 +#, c-format +msgid "\n" +"Compare file sync methods using two %dkB writes:\n" +msgstr "\n" +"Порівнювання методів синхронізації файлу, використовуючи два записи %dkB: \n" + +#: pg_test_fsync.c:295 +#, c-format +msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +msgstr "(в порядку переваги для wal_sync_method, окрім переваги fdatasync в Linux)\n" + +#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +msgid "n/a*" +msgstr "н/д*" + +#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 +#: pg_test_fsync.c:439 pg_test_fsync.c:498 +msgid "n/a" +msgstr "н/д" + +#: pg_test_fsync.c:444 +#, c-format +msgid "* This file system and its mount options do not support direct\n" +" I/O, e.g. ext4 in journaled mode.\n" +msgstr "* Ця файлова система з поточними параметрами монтування не підтримує\n" +" пряме введення/виведення, наприклад, ext4 в режимі журналювання.\n" + +#: pg_test_fsync.c:452 +#, c-format +msgid "\n" +"Compare open_sync with different write sizes:\n" +msgstr "\n" +"Порівняння open_sync з різними розмірами записування:\n" + +#: pg_test_fsync.c:453 +#, c-format +msgid "(This is designed to compare the cost of writing 16kB in different write\n" +"open_sync sizes.)\n" +msgstr "(Це створено для порівняння вартості запису 16 КБ з різними розмірами\n" +"записування open_sync.)\n" + +#: pg_test_fsync.c:456 +msgid " 1 * 16kB open_sync write" +msgstr " запис з open_sync 1 * 16 КБ" + +#: pg_test_fsync.c:457 +msgid " 2 * 8kB open_sync writes" +msgstr " запис з open_sync 2 * 8 КБ" + +#: pg_test_fsync.c:458 +msgid " 4 * 4kB open_sync writes" +msgstr " запис з open_sync 4 * 4 КБ" + +#: pg_test_fsync.c:459 +msgid " 8 * 2kB open_sync writes" +msgstr " запис з open_sync 8 * 2 КБ" + +#: pg_test_fsync.c:460 +msgid "16 * 1kB open_sync writes" +msgstr "запис з open_sync 16 * 1 КБ" + +#: pg_test_fsync.c:514 +#, c-format +msgid "\n" +"Test if fsync on non-write file descriptor is honored:\n" +msgstr "\n" +"Перевірка, чи здійснюється fsync з дескриптором файлу, відкритого не для запису:\n" + +#: pg_test_fsync.c:515 +#, c-format +msgid "(If the times are similar, fsync() can sync data written on a different\n" +"descriptor.)\n" +msgstr "(Якщо час однаковий, fsync() може синхронізувати дані, записані іншим дескриптором.)\n" + +#: pg_test_fsync.c:580 +#, c-format +msgid "\n" +"Non-sync'ed %dkB writes:\n" +msgstr "\n" +"Несинхронізований запис %d КБ:\n" + diff --git a/src/bin/pg_test_fsync/t/001_basic.pl b/src/bin/pg_test_fsync/t/001_basic.pl new file mode 100644 index 0000000..8c5c0e7 --- /dev/null +++ b/src/bin/pg_test_fsync/t/001_basic.pl @@ -0,0 +1,29 @@ + +# Copyright (c) 2021-2022, PostgreSQL Global Development Group + +use strict; +use warnings; + +use PostgreSQL::Test::Utils; +use Test::More; + +######################################### +# Basic checks + +program_help_ok('pg_test_fsync'); +program_version_ok('pg_test_fsync'); +program_options_handling_ok('pg_test_fsync'); + +######################################### +# Test invalid option combinations + +command_fails_like( + [ 'pg_test_fsync', '--secs-per-test', 'a' ], + qr/\Qpg_test_fsync: error: invalid argument for option --secs-per-test\E/, + 'pg_test_fsync: invalid argument for option --secs-per-test'); +command_fails_like( + [ 'pg_test_fsync', '--secs-per-test', '0' ], + qr/\Qpg_test_fsync: error: --secs-per-test must be in range 1..4294967295\E/, + 'pg_test_fsync: --secs-per-test must be in range'); + +done_testing(); |