Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
postgres-lambda-diff
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jakob Huber
postgres-lambda-diff
Commits
606c9b9d
Commit
606c9b9d
authored
22 years ago
by
Peter Eisentraut
Browse files
Options
Downloads
Patches
Plain Diff
Add --help and --version options. Message cleanup. NLS.
parent
d46e3dc0
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/bin/pg_controldata/nls.mk
+5
-0
5 additions, 0 deletions
src/bin/pg_controldata/nls.mk
src/bin/pg_controldata/pg_controldata.c
+79
-60
79 additions, 60 deletions
src/bin/pg_controldata/pg_controldata.c
src/bin/pg_controldata/po/de.po
+197
-0
197 additions, 0 deletions
src/bin/pg_controldata/po/de.po
with
281 additions
and
60 deletions
src/bin/pg_controldata/nls.mk
0 → 100644
+
5
−
0
View file @
606c9b9d
# $Header: /cvsroot/pgsql/src/bin/pg_controldata/nls.mk,v 1.1 2002/08/21 22:24:34 petere Exp $
CATALOG_NAME
:=
pg_controldata
AVAIL_LANGUAGES
:=
de
GETTEXT_FILES
:=
pg_controldata.c
GETTEXT_TRIGGERS
:=
_
This diff is collapsed.
Click to expand it.
src/bin/pg_controldata/pg_controldata.c
+
79
−
60
View file @
606c9b9d
...
...
@@ -6,7 +6,7 @@
* copyright (c) Oliver Elphick <olly@lfix.co.uk>, 2001;
* licence: BSD
*
* $Header: /cvsroot/pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.
2
2002/08/
18 02:48:41 tgl
Exp $
* $Header: /cvsroot/pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.
3
2002/08/
21 22:24:34 petere
Exp $
*/
#include
"postgres.h"
...
...
@@ -15,9 +15,23 @@
#include
<sys/types.h>
#include
<sys/stat.h>
#include
<fcntl.h>
#include
<locale.h>
#include
<errno.h>
#include
"catalog/pg_control.h"
#define _(x) gettext((x))
static
void
usage
(
const
char
*
progname
)
{
printf
(
_
(
"%s displays PostgreSQL database cluster control information.
\n
"
),
progname
);
printf
(
_
(
"Usage:
\n
%s [DATADIR]
\n\n
"
),
progname
);
printf
(
_
(
"If not data directory is specified, the environment variable PGDATA
\n
is used.
\n\n
"
));
printf
(
_
(
"Report bugs to <pgsql-bugs@postgresql.org>.
\n
"
));
}
static
const
char
*
dbState
(
DBState
state
)
...
...
@@ -35,7 +49,7 @@ dbState(DBState state)
case
DB_IN_PRODUCTION
:
return
"IN_PRODUCTION"
;
}
return
"unrecognized status code"
;
return
_
(
"unrecognized status code"
)
;
}
...
...
@@ -50,6 +64,32 @@ main(int argc, char *argv[])
char
pgctime_str
[
32
];
char
ckpttime_str
[
32
];
char
*
strftime_fmt
=
"%c"
;
char
*
progname
;
setlocale
(
LC_ALL
,
""
);
#ifdef ENABLE_NLS
bindtextdomain
(
"pg_controldata"
,
LOCALEDIR
);
textdomain
(
"pg_controldata"
);
#endif
if
(
!
strrchr
(
argv
[
0
],
'/'
))
progname
=
argv
[
0
];
else
progname
=
strrchr
(
argv
[
0
],
'/'
)
+
1
;
if
(
argc
>
1
)
{
if
(
strcmp
(
argv
[
1
],
"--help"
)
==
0
||
strcmp
(
argv
[
1
],
"-?"
)
==
0
)
{
usage
(
progname
);
exit
(
0
);
}
if
(
strcmp
(
argv
[
1
],
"--version"
)
==
0
||
strcmp
(
argv
[
1
],
"-V"
)
==
0
)
{
puts
(
"pg_controldata (PostgreSQL) "
PG_VERSION
);
exit
(
0
);
}
}
if
(
argc
>
1
)
DataDir
=
argv
[
1
];
...
...
@@ -57,7 +97,7 @@ main(int argc, char *argv[])
DataDir
=
getenv
(
"PGDATA"
);
if
(
DataDir
==
NULL
)
{
fprintf
(
stderr
,
"
no data directory specified
\n
"
);
fprintf
(
stderr
,
_
(
"%s:
no data directory specified
\n
"
)
,
progname
)
;
exit
(
1
);
}
...
...
@@ -65,13 +105,15 @@ main(int argc, char *argv[])
if
((
fd
=
open
(
ControlFilePath
,
O_RDONLY
))
==
-
1
)
{
perror
(
"Failed to open $PGDATA/global/pg_control for reading"
);
fprintf
(
stderr
,
_
(
"%s: could not open file
\"
%s
\"
for reading (%s)
\n
"
),
progname
,
ControlFilePath
,
strerror
(
errno
));
exit
(
2
);
}
if
(
read
(
fd
,
&
ControlFile
,
sizeof
(
ControlFileData
))
!=
sizeof
(
ControlFileData
))
{
perror
(
"Failed to read $PGDATA/global/pg_control"
);
fprintf
(
stderr
,
_
(
"%s: could not read file
\"
%s
\"
(%s)
\n
"
),
progname
,
ControlFilePath
,
strerror
(
errno
));
exit
(
2
);
}
close
(
fd
);
...
...
@@ -84,9 +126,9 @@ main(int argc, char *argv[])
FIN_CRC64
(
crc
);
if
(
!
EQ_CRC64
(
crc
,
ControlFile
.
crc
))
printf
(
"WARNING: Calculated CRC checksum does not match value stored in file.
\n
"
printf
(
_
(
"WARNING: Calculated CRC checksum does not match value stored in file.
\n
"
"Either the file is corrupt, or it has a different layout than this program
\n
"
"is expecting. The results below are untrustworthy.
\n\n
"
);
"is expecting. The results below are untrustworthy.
\n\n
"
)
)
;
/*
* Use variable for format to suppress overly-anal-retentive gcc warning
...
...
@@ -97,56 +139,33 @@ main(int argc, char *argv[])
strftime
(
ckpttime_str
,
sizeof
(
ckpttime_str
),
strftime_fmt
,
localtime
(
&
(
ControlFile
.
checkPointCopy
.
time
)));
printf
(
"pg_control version number: %u
\n
"
"Catalog version number: %u
\n
"
"Database state: %s
\n
"
"pg_control last modified: %s
\n
"
"Current log file id: %u
\n
"
"Next log file segment: %u
\n
"
"Latest checkpoint location: %X/%X
\n
"
"Prior checkpoint location: %X/%X
\n
"
"Latest checkpoint's REDO location: %X/%X
\n
"
"Latest checkpoint's UNDO location: %X/%X
\n
"
"Latest checkpoint's StartUpID: %u
\n
"
"Latest checkpoint's NextXID: %u
\n
"
"Latest checkpoint's NextOID: %u
\n
"
"Time of latest checkpoint: %s
\n
"
"Database block size: %u
\n
"
"Blocks per segment of large relation: %u
\n
"
"Maximum length of names: %u
\n
"
"Maximum number of function arguments: %u
\n
"
"Date/time type storage: %s
\n
"
"Maximum length of locale name: %u
\n
"
"LC_COLLATE: %s
\n
"
"LC_CTYPE: %s
\n
"
,
ControlFile
.
pg_control_version
,
ControlFile
.
catalog_version_no
,
dbState
(
ControlFile
.
state
),
pgctime_str
,
ControlFile
.
logId
,
ControlFile
.
logSeg
,
ControlFile
.
checkPoint
.
xlogid
,
ControlFile
.
checkPoint
.
xrecoff
,
ControlFile
.
prevCheckPoint
.
xlogid
,
ControlFile
.
prevCheckPoint
.
xrecoff
,
ControlFile
.
checkPointCopy
.
redo
.
xlogid
,
ControlFile
.
checkPointCopy
.
redo
.
xrecoff
,
ControlFile
.
checkPointCopy
.
undo
.
xlogid
,
ControlFile
.
checkPointCopy
.
undo
.
xrecoff
,
ControlFile
.
checkPointCopy
.
ThisStartUpID
,
ControlFile
.
checkPointCopy
.
nextXid
,
ControlFile
.
checkPointCopy
.
nextOid
,
ckpttime_str
,
ControlFile
.
blcksz
,
ControlFile
.
relseg_size
,
ControlFile
.
nameDataLen
,
ControlFile
.
funcMaxArgs
,
(
ControlFile
.
enableIntTimes
?
"64-bit integers"
:
"Floating point"
),
ControlFile
.
localeBuflen
,
ControlFile
.
lc_collate
,
ControlFile
.
lc_ctype
);
return
(
0
);
printf
(
_
(
"pg_control version number: %u
\n
"
),
ControlFile
.
pg_control_version
);
printf
(
_
(
"Catalog version number: %u
\n
"
),
ControlFile
.
catalog_version_no
);
printf
(
_
(
"Database cluster state: %s
\n
"
),
dbState
(
ControlFile
.
state
));
printf
(
_
(
"pg_control last modified: %s
\n
"
),
pgctime_str
);
printf
(
_
(
"Current log file ID: %u
\n
"
),
ControlFile
.
logId
);
printf
(
_
(
"Next log file segment: %u
\n
"
),
ControlFile
.
logSeg
);
printf
(
_
(
"Latest checkpoint location: %X/%X
\n
"
),
ControlFile
.
checkPoint
.
xlogid
,
ControlFile
.
checkPoint
.
xrecoff
);
printf
(
_
(
"Prior checkpoint location: %X/%X
\n
"
),
ControlFile
.
prevCheckPoint
.
xlogid
,
ControlFile
.
prevCheckPoint
.
xrecoff
);
printf
(
_
(
"Latest checkpoint's REDO location: %X/%X
\n
"
),
ControlFile
.
checkPointCopy
.
redo
.
xlogid
,
ControlFile
.
checkPointCopy
.
redo
.
xrecoff
);
printf
(
_
(
"Latest checkpoint's UNDO location: %X/%X
\n
"
),
ControlFile
.
checkPointCopy
.
undo
.
xlogid
,
ControlFile
.
checkPointCopy
.
undo
.
xrecoff
);
printf
(
_
(
"Latest checkpoint's StartUpID: %u
\n
"
),
ControlFile
.
checkPointCopy
.
ThisStartUpID
);
printf
(
_
(
"Latest checkpoint's NextXID: %u
\n
"
),
ControlFile
.
checkPointCopy
.
nextXid
);
printf
(
_
(
"Latest checkpoint's NextOID: %u
\n
"
),
ControlFile
.
checkPointCopy
.
nextOid
);
printf
(
_
(
"Time of latest checkpoint: %s
\n
"
),
ckpttime_str
);
printf
(
_
(
"Database block size: %u
\n
"
),
ControlFile
.
blcksz
);
printf
(
_
(
"Blocks per segment of large relation: %u
\n
"
),
ControlFile
.
relseg_size
);
printf
(
_
(
"Maximum length of identifiers: %u
\n
"
),
ControlFile
.
nameDataLen
);
printf
(
_
(
"Maximum number of function arguments: %u
\n
"
),
ControlFile
.
funcMaxArgs
);
printf
(
_
(
"Date/time type storage: %s
\n
"
),
(
ControlFile
.
enableIntTimes
?
_
(
"64-bit integers"
)
:
_
(
"Floating point"
)));
printf
(
_
(
"Maximum length of locale name: %u
\n
"
),
ControlFile
.
localeBuflen
);
printf
(
_
(
"LC_COLLATE: %s
\n
"
),
ControlFile
.
lc_collate
);
printf
(
_
(
"LC_CTYPE: %s
\n
"
),
ControlFile
.
lc_ctype
);
return
0
;
}
This diff is collapsed.
Click to expand it.
src/bin/pg_controldata/po/de.po
0 → 100644
+
197
−
0
View file @
606c9b9d
# German message translation file for pg_controldata
# Peter Eisentraut <peter_e@gmx.net>, 2002.
#
# $Header: /cvsroot/pgsql/src/bin/pg_controldata/po/de.po,v 1.1 2002/08/21 22:24:34 petere Exp $
#
# Use these quotes: %s
#
msgid ""
msgstr ""
"Project-Id-Version: PostgreSQL 7.3\n"
"POT-Creation-Date: 2002-08-22 00:15+0200\n"
"PO-Revision-Date: 2002-08-22 00:14+0200\n"
"Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
"Language-Team: German <peter_e@gmx.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: pg_controldata.c:29
#, c-format
msgid "%s displays PostgreSQL database cluster control information.\n"
msgstr "%s zeigt Kontrollinformationen ber PostgreSQL-Datenbankcluster an.\n"
#: pg_controldata.c:30
#, c-format
msgid ""
"Usage:\n"
" %s [DATADIR]\n"
"\n"
msgstr ""
"Benutzung:\n"
" %s [DATENVERZEICHNIS]\n"
"\n"
#: pg_controldata.c:31
msgid ""
"If not data directory is specified, the environment variable PGDATA\n"
"is used.\n"
"\n"
msgstr ""
"Wenn kein Datenverzeichnis angegeben ist, wird die Umgebungsvariable\n"
"PGDATA verwendent.\n"
"\n"
#: pg_controldata.c:32
msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
msgstr "Berichten Sie Fehler an <pgsql-bugs@postgresql.org>.\n"
#: pg_controldata.c:52
msgid "unrecognized status code"
msgstr "unerkannter Statuscode"
#: pg_controldata.c:100
#, c-format
msgid "%s: no data directory specified\n"
msgstr "%s: kein Datenverzeichnis angegeben\n"
#: pg_controldata.c:108
#, c-format
msgid "%s: could not open file \"%s\" for reading (%s)\n"
msgstr "%s: konnte Datei %s nicht zum Lesen ffnen (%s)\n"
#: pg_controldata.c:115
#, c-format
msgid "%s: could not read file \"%s\" (%s)\n"
msgstr "%s: konnte Datei %s nicht zum Lesen ffnen (%s)\n"
#: pg_controldata.c:129
msgid ""
"WARNING: Calculated CRC checksum does not match value stored in file.\n"
"Either the file is corrupt, or it has a different layout than this program\n"
"is expecting. The results below are untrustworthy.\n"
"\n"
msgstr ""
"WARNUNG: Berechnete CRC-Checksumme stimmt nicht mit dem Wert in der Datei\n"
"berein. Entweder ist die Datei kaputt oder sie hat ein anderes Layout\n"
"als von diesem Program erwartet. Die Ergebnisse unten sind nicht\n"
"verlsslich.\n"
"\n"
#: pg_controldata.c:142
#, c-format
msgid "pg_control version number: %u\n"
msgstr "pg_control-Versionsnummer: %u\n"
#: pg_controldata.c:143
#, c-format
msgid "Catalog version number: %u\n"
msgstr "Katalog-Versionsnummer: %u\n"
#: pg_controldata.c:144
#, c-format
msgid "Database cluster state: %s\n"
msgstr "Datenbank-Cluster-Status: %s\n"
#: pg_controldata.c:145
#, c-format
msgid "pg_control last modified: %s\n"
msgstr "pg_control zuletzt gendert: %s\n"
#: pg_controldata.c:146
#, c-format
msgid "Current log file ID: %u\n"
msgstr "Aktuelle Logdatei-ID: %u\n"
#: pg_controldata.c:147
#, c-format
msgid "Next log file segment: %u\n"
msgstr "Nchstes Logdatei-Segment: %u\n"
#: pg_controldata.c:148
#, c-format
msgid "Latest checkpoint location: %X/%X\n"
msgstr "Letzter Checkpoint-Ort: %X/%X\n"
#: pg_controldata.c:150
#, c-format
msgid "Prior checkpoint location: %X/%X\n"
msgstr "Voriger Checkpoint-Ort: %X/%X\n"
#: pg_controldata.c:152
#, c-format
msgid "Latest checkpoint's REDO location: %X/%X\n"
msgstr "REDO-Ort vom letzten Checkpoint: %X/%X\n"
#: pg_controldata.c:154
#, c-format
msgid "Latest checkpoint's UNDO location: %X/%X\n"
msgstr "UNDO-Ort vom letzten Checkpoint: %X/%X\n"
#: pg_controldata.c:156
#, c-format
msgid "Latest checkpoint's StartUpID: %u\n"
msgstr "StartUpID vom letzten Checkpoint: %u\n"
#: pg_controldata.c:157
#, c-format
msgid "Latest checkpoint's NextXID: %u\n"
msgstr "NextXID vom letzten Checkpoint: %u\n"
#: pg_controldata.c:158
#, c-format
msgid "Latest checkpoint's NextOID: %u\n"
msgstr "NextOID vom letzten Checkpoint: %u\n"
#: pg_controldata.c:159
#, c-format
msgid "Time of latest checkpoint: %s\n"
msgstr "Zeit vom letzten Checkpoint: %s\n"
#: pg_controldata.c:160
#, c-format
msgid "Database block size: %u\n"
msgstr "Datenbank-Blockgre: %u\n"
#: pg_controldata.c:161
#, c-format
msgid "Blocks per segment of large relation: %u\n"
msgstr "Blcke pro Segment: %u\n"
#: pg_controldata.c:162
#, c-format
msgid "Maximum length of identifiers: %u\n"
msgstr "Hchstlnge von Namen: %u\n"
#: pg_controldata.c:163
#, c-format
msgid "Maximum number of function arguments: %u\n"
msgstr "Maximale Funktionsargumente: %u\n"
#: pg_controldata.c:164
#, c-format
msgid "Date/time type storage: %s\n"
msgstr "Speicherung von Datum/Zeit-Typen: %s\n"
#: pg_controldata.c:165
msgid "64-bit integers"
msgstr "64-Bit Ganzzahlen"
#: pg_controldata.c:165
msgid "Floating point"
msgstr "Fliekommazahlen"
#: pg_controldata.c:166
#, c-format
msgid "Maximum length of locale name: %u\n"
msgstr "Maximallnge eines Locale-Namens: %u\n"
#: pg_controldata.c:167
#, c-format
msgid "LC_COLLATE: %s\n"
msgstr "LC_COLLATE: %s\n"
#: pg_controldata.c:168
#, c-format
msgid "LC_CTYPE: %s\n"
msgstr "LC_CTYPE: %s\n"
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment