Add start/stop times for pg_dump/pg_dumpall when verbose output is used.
This commit is contained in:
parent
e25a6e185b
commit
9136613803
|
@ -1,5 +1,5 @@
|
||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.70 2004/05/31 13:37:52 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.71 2004/06/07 20:35:57 momjian Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -403,7 +403,8 @@ PostgreSQL documentation
|
||||||
<para>
|
<para>
|
||||||
Specifies verbose mode. This will cause
|
Specifies verbose mode. This will cause
|
||||||
<application>pg_dump</application> to output detailed object
|
<application>pg_dump</application> to output detailed object
|
||||||
comments in the dump file, and progress messages to standard error.
|
comments and start/stop times to the dump file, and progress
|
||||||
|
messages to standard error.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.43 2003/11/29 19:51:39 pgsql Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.44 2004/06/07 20:35:57 momjian Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -192,8 +192,9 @@ PostgreSQL documentation
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies verbose mode. This will cause
|
Specifies verbose mode. This will cause
|
||||||
<application>pg_dumpall</application> to print progress
|
<application>pg_dumpall</application> to output start/stop
|
||||||
messages to standard error.
|
times to the dump file, and progress messages to standard error.
|
||||||
|
It will also enable verbose output in <application>pg_dump</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* by PostgreSQL
|
* by PostgreSQL
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.373 2004/06/03 00:07:36 momjian Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.374 2004/06/07 20:35:57 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -32,6 +32,7 @@
|
||||||
#ifdef HAVE_TERMIOS_H
|
#ifdef HAVE_TERMIOS_H
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#ifndef HAVE_STRDUP
|
#ifndef HAVE_STRDUP
|
||||||
#include "strdup.h"
|
#include "strdup.h"
|
||||||
|
@ -163,6 +164,7 @@ static char *myFormatType(const char *typname, int32 typmod);
|
||||||
static const char *fmtQualifiedId(const char *schema, const char *id);
|
static const char *fmtQualifiedId(const char *schema, const char *id);
|
||||||
static int dumpBlobs(Archive *AH, void *arg);
|
static int dumpBlobs(Archive *AH, void *arg);
|
||||||
static void dumpDatabase(Archive *AH);
|
static void dumpDatabase(Archive *AH);
|
||||||
|
static void dumpTimestamp(Archive *AH, char *msg);
|
||||||
static void dumpEncoding(Archive *AH);
|
static void dumpEncoding(Archive *AH);
|
||||||
static const char *getAttrName(int attrnum, TableInfo *tblInfo);
|
static const char *getAttrName(int attrnum, TableInfo *tblInfo);
|
||||||
static const char *fmtCopyColumnList(const TableInfo *ti);
|
static const char *fmtCopyColumnList(const TableInfo *ti);
|
||||||
|
@ -598,6 +600,9 @@ main(int argc, char **argv)
|
||||||
* in a safe order.
|
* in a safe order.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (g_fout->verbose)
|
||||||
|
dumpTimestamp(g_fout, "Started on");
|
||||||
|
|
||||||
/* First the special encoding entry. */
|
/* First the special encoding entry. */
|
||||||
dumpEncoding(g_fout);
|
dumpEncoding(g_fout);
|
||||||
|
|
||||||
|
@ -615,6 +620,9 @@ main(int argc, char **argv)
|
||||||
dumpDumpableObject(g_fout, dobjs[i]);
|
dumpDumpableObject(g_fout, dobjs[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (g_fout->verbose)
|
||||||
|
dumpTimestamp(g_fout, "Completed on");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* And finally we can do the actual output.
|
* And finally we can do the actual output.
|
||||||
*/
|
*/
|
||||||
|
@ -1283,6 +1291,35 @@ dumpDatabase(Archive *AH)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* dumpTimestamp
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
dumpTimestamp(Archive *AH, char *msg)
|
||||||
|
{
|
||||||
|
char buf[256];
|
||||||
|
time_t now = time(NULL);
|
||||||
|
|
||||||
|
if (strftime(buf, 256, "%Y-%m-%d %H:%M:%S %Z", localtime(&now)) != 0)
|
||||||
|
{
|
||||||
|
PQExpBuffer qry = createPQExpBuffer();
|
||||||
|
|
||||||
|
appendPQExpBuffer(qry, "-- ");
|
||||||
|
appendPQExpBuffer(qry, msg);
|
||||||
|
appendPQExpBuffer(qry, " ");
|
||||||
|
appendPQExpBuffer(qry, buf);
|
||||||
|
appendPQExpBuffer(qry, "\n");
|
||||||
|
|
||||||
|
ArchiveEntry(AH, nilCatalogId, createDumpId(),
|
||||||
|
"DUMP TIMESTAMP", NULL, "",
|
||||||
|
false, "DUMP TIMESTAMP", qry->data, "", NULL,
|
||||||
|
NULL, 0,
|
||||||
|
NULL, NULL);
|
||||||
|
destroyPQExpBuffer(qry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* dumpEncoding: put the correct encoding into the archive
|
* dumpEncoding: put the correct encoding into the archive
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.37 2004/06/05 04:27:48 momjian Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.38 2004/06/07 20:35:57 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -50,6 +50,7 @@ static void dumpDatabaseConfig(PGconn *conn, const char *dbname);
|
||||||
static void dumpUserConfig(PGconn *conn, const char *username);
|
static void dumpUserConfig(PGconn *conn, const char *username);
|
||||||
static void makeAlterConfigCommand(const char *arrayitem, const char *type, const char *name);
|
static void makeAlterConfigCommand(const char *arrayitem, const char *type, const char *name);
|
||||||
static void dumpDatabases(PGconn *conn);
|
static void dumpDatabases(PGconn *conn);
|
||||||
|
static void dumpTimestamp(char *msg);
|
||||||
|
|
||||||
static int runPgDump(const char *dbname);
|
static int runPgDump(const char *dbname);
|
||||||
static PGconn *connectDatabase(const char *dbname, const char *pghost, const char *pgport,
|
static PGconn *connectDatabase(const char *dbname, const char *pghost, const char *pgport,
|
||||||
|
@ -220,6 +221,9 @@ main(int argc, char *argv[])
|
||||||
conn = connectDatabase("template1", pghost, pgport, pguser, force_password);
|
conn = connectDatabase("template1", pghost, pgport, pguser, force_password);
|
||||||
|
|
||||||
printf("--\n-- PostgreSQL database cluster dump\n--\n\n");
|
printf("--\n-- PostgreSQL database cluster dump\n--\n\n");
|
||||||
|
if (verbose)
|
||||||
|
dumpTimestamp("Started on");
|
||||||
|
|
||||||
printf("\\connect \"template1\"\n\n");
|
printf("\\connect \"template1\"\n\n");
|
||||||
|
|
||||||
if (!data_only)
|
if (!data_only)
|
||||||
|
@ -237,6 +241,8 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
PQfinish(conn);
|
PQfinish(conn);
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
|
dumpTimestamp("Completed on");
|
||||||
printf("--\n-- PostgreSQL database cluster dump complete\n--\n\n");
|
printf("--\n-- PostgreSQL database cluster dump complete\n--\n\n");
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
|
@ -808,3 +814,17 @@ executeQuery(PGconn *conn, const char *query)
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* dumpTimestamp
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
dumpTimestamp(char *msg)
|
||||||
|
{
|
||||||
|
char buf[256];
|
||||||
|
time_t now = time(NULL);
|
||||||
|
|
||||||
|
if (strftime(buf, 256, "%Y-%m-%d %H:%M:%S %Z", localtime(&now)) != 0)
|
||||||
|
printf("-- %s %s\n\n", msg, buf);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue