diff --git a/doc/src/sgml/ref/pg_controldata.sgml b/doc/src/sgml/ref/pg_controldata.sgml
index 9a676e0a78b..32081e9b91c 100644
--- a/doc/src/sgml/ref/pg_controldata.sgml
+++ b/doc/src/sgml/ref/pg_controldata.sgml
@@ -23,7 +23,13 @@ PostgreSQL documentation
pg_controldata
option
- datadir
+
+
+
+
+
+ datadir
+
diff --git a/doc/src/sgml/ref/pg_resetwal.sgml b/doc/src/sgml/ref/pg_resetwal.sgml
index 34ebe11a442..5e2e3086a6e 100644
--- a/doc/src/sgml/ref/pg_resetwal.sgml
+++ b/doc/src/sgml/ref/pg_resetwal.sgml
@@ -22,10 +22,22 @@ PostgreSQL documentation
pg_resetwal
-
-
+
+
+
+
+
+
+
+
option
- datadir
+
+
+
+
+
+ datadir
+
@@ -78,6 +90,7 @@ PostgreSQL documentation
+
Force pg_resetwal to proceed even if it cannot determine
@@ -88,9 +101,10 @@ PostgreSQL documentation
+
- The (no operation) option instructs
+ The / option instructs
pg_resetwal to print the values reconstructed from
pg_control and values about to be changed, and then exit
without modifying anything. This is mainly a debugging tool, but can be
@@ -123,7 +137,8 @@ PostgreSQL documentation
- xid,xid
+
+
Manually set the oldest and newest transaction IDs for which the commit
@@ -144,7 +159,8 @@ PostgreSQL documentation
- xid_epoch
+
+
Manually set the next transaction ID's epoch.
@@ -164,7 +180,8 @@ PostgreSQL documentation
- walfile
+
+
Manually set the WAL starting location by specifying the name of the
@@ -203,7 +220,8 @@ PostgreSQL documentation
- mxid,mxid
+
+
Manually set the next and oldest multitransaction ID.
@@ -224,7 +242,8 @@ PostgreSQL documentation
- oid
+
+
Manually set the next OID.
@@ -239,7 +258,8 @@ PostgreSQL documentation
- mxoff
+
+
Manually set the next multitransaction offset.
@@ -256,7 +276,8 @@ PostgreSQL documentation
- xid
+
+
Manually set the next transaction ID.
diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c
index f9dc854b4a9..0dbf8e2f6b6 100644
--- a/src/bin/pg_controldata/pg_controldata.c
+++ b/src/bin/pg_controldata/pg_controldata.c
@@ -34,9 +34,9 @@ usage(const char *progname)
printf(_("Usage:\n"));
printf(_(" %s [OPTION] [DATADIR]\n"), progname);
printf(_("\nOptions:\n"));
- printf(_(" [-D] DATADIR data directory\n"));
- printf(_(" -V, --version output version information, then exit\n"));
- printf(_(" -?, --help show this help, then exit\n"));
+ printf(_(" [-D,--pgdata=]DATADIR data directory\n"));
+ printf(_(" -V, --version output version information, then exit\n"));
+ printf(_(" -?, --help show this help, then exit\n"));
printf(_("\nIf no data directory (DATADIR) is specified, "
"the environment variable PGDATA\nis used.\n\n"));
printf(_("Report bugs to .\n"));
@@ -85,6 +85,11 @@ wal_level_str(WalLevel wal_level)
int
main(int argc, char *argv[])
{
+ static struct option long_options[] = {
+ {"pgdata", required_argument, NULL, 'D'},
+ {NULL, 0, NULL, 0}
+ };
+
ControlFileData *ControlFile;
bool crc_ok;
char *DataDir = NULL;
@@ -118,7 +123,7 @@ main(int argc, char *argv[])
}
}
- while ((c = getopt(argc, argv, "D:")) != -1)
+ while ((c = getopt_long(argc, argv, "D:", long_options, NULL)) != -1)
{
switch (c)
{
diff --git a/src/bin/pg_resetwal/pg_resetwal.c b/src/bin/pg_resetwal/pg_resetwal.c
index c99e7a8db1e..ba3b8b4d6b7 100644
--- a/src/bin/pg_resetwal/pg_resetwal.c
+++ b/src/bin/pg_resetwal/pg_resetwal.c
@@ -88,6 +88,20 @@ static void usage(void);
int
main(int argc, char *argv[])
{
+ static struct option long_options[] = {
+ {"commit-timestamp-ids", required_argument, NULL, 'c'},
+ {"pgdata", required_argument, NULL, 'D'},
+ {"epoch", required_argument, NULL, 'e'},
+ {"force", no_argument, NULL, 'f'},
+ {"next-wal-file", required_argument, NULL, 'l'},
+ {"multixact-ids", required_argument, NULL, 'm'},
+ {"dry-run", no_argument, NULL, 'n'},
+ {"next-oid", required_argument, NULL, 'o'},
+ {"multixact-offset", required_argument, NULL, 'O'},
+ {"next-transaction-id", required_argument, NULL, 'x'},
+ {NULL, 0, NULL, 0}
+ };
+
int c;
bool force = false;
bool noupdate = false;
@@ -117,7 +131,7 @@ main(int argc, char *argv[])
}
- while ((c = getopt(argc, argv, "c:D:e:fl:m:no:O:x:")) != -1)
+ while ((c = getopt_long(argc, argv, "c:D:e:fl:m:no:O:x:", long_options, NULL)) != -1)
{
switch (c)
{
@@ -1251,18 +1265,19 @@ usage(void)
printf(_("%s resets the PostgreSQL write-ahead log.\n\n"), progname);
printf(_("Usage:\n %s [OPTION]... DATADIR\n\n"), progname);
printf(_("Options:\n"));
- printf(_(" -c XID,XID set oldest and newest transactions bearing commit timestamp\n"));
- printf(_(" (zero in either value means no change)\n"));
- printf(_(" [-D] DATADIR data directory\n"));
- printf(_(" -e XIDEPOCH set next transaction ID epoch\n"));
- printf(_(" -f force update to be done\n"));
- printf(_(" -l WALFILE force minimum WAL starting location for new write-ahead log\n"));
- printf(_(" -m MXID,MXID set next and oldest multitransaction ID\n"));
- printf(_(" -n no update, just show what would be done (for testing)\n"));
- printf(_(" -o OID set next OID\n"));
- printf(_(" -O OFFSET set next multitransaction offset\n"));
- printf(_(" -V, --version output version information, then exit\n"));
- printf(_(" -x XID set next transaction ID\n"));
- printf(_(" -?, --help show this help, then exit\n"));
+ printf(_(" -c, --commit-timestamp-ids=XID,XID\n"
+ " set oldest and newest transactions bearing\n"
+ " commit timestamp (zero means no change)\n"));
+ printf(_(" [-D, --pgdata=]DATADIR data directory\n"));
+ printf(_(" -e, --epoch=XIDEPOCH set next transaction ID epoch\n"));
+ printf(_(" -f, --force force update to be done\n"));
+ printf(_(" -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n"));
+ printf(_(" -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n"));
+ printf(_(" -n, --dry-run no update, just show what would be done\n"));
+ printf(_(" -o, --next-oid=OID set next OID\n"));
+ printf(_(" -O, --multixact-offset=OFFSET set next multitransaction offset\n"));
+ printf(_(" -V, --version output version information, then exit\n"));
+ printf(_(" -x, --next-transaction-id=XID set next transaction ID\n"));
+ printf(_(" -?, --help show this help, then exit\n"));
printf(_("\nReport bugs to .\n"));
}