Thread: pg_restore - added documentation

pg_restore - added documentation

From
Harald Armin Massa
Date:
I suggest to alter the

pg_restore --help output from
-----------------------------------------
Usage:
 pg_restore [OPTION]... [FILE]

General options:
 -d, --dbname=NAME        output database name
 -f, --file=FILENAME      output file name
-----------------------------------------------
to:

----------------------------------------------
Usage:
 pg_restore [OPTION]... [FILE]

General options:
-d, --dbname=NAME        output database name (to restore into a psql
database)
-f, --file=FILENAME      output file name (to convert custom/tar to
plain SQL)
-F, --format=c|t         specify backup file format (custom or tar,
plain text is not possible) ----------------------------------------------

Reasons:

a) pg_restore may sometimes be used in a "stressed state of mind" where
additional information is essential
b) within win32 there is no man pg_restore possible
c) Not me allown did need some time to understand WHY an "output file
name" makes sense for a resore-utility.

Please find the patch in the upcomming.

Harald

----------------------------------------------
363,365c363,365
<     printf(_("  -d, --dbname=NAME        output database name\n"));
<     printf(_("  -f, --file=FILENAME      output file name\n"));
<     printf(_("  -F, --format=c|t         specify backup file format\n"));
---
 >     printf(_("  -d, --dbname=NAME        output database name (to
restore into a psql database) \n"));
 >     printf(_("  -f, --file=FILENAME      output file name (to convert
custom/tar to plain SQL)\n"));
 >     printf(_("  -F, --format=c|t         specify backup file format
(only custom and tar are allowed, not plain SQL)\n"));
--------------------------------------------------

Attachment

Re: pg_restore - added documentation

From
Peter Eisentraut
Date:
Harald Armin Massa wrote:
> ----------------------------------------------
> Usage:
>  pg_restore [OPTION]... [FILE]
>
> General options:
> -d, --dbname=NAME        output database name (to restore into a psql
> database)
> -f, --file=FILENAME      output file name (to convert custom/tar to
> plain SQL)
> -F, --format=c|t         specify backup file format (custom or tar,
> plain text is not possible)
> ----------------------------------------------

These lines are too long for help output.  Also, there is no such thing
as a "psql database".

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


Re: pg_restore - added documentation

From
Bruce Momjian
Date:
Peter Eisentraut wrote:
> Harald Armin Massa wrote:
> > ----------------------------------------------
> > Usage:
> >  pg_restore [OPTION]... [FILE]
> >
> > General options:
> > -d, --dbname=NAME        output database name (to restore into a psql
> > database)
> > -f, --file=FILENAME      output file name (to convert custom/tar to
> > plain SQL)
> > -F, --format=c|t         specify backup file format (custom or tar,
> > plain text is not possible)
> > ----------------------------------------------
>
> These lines are too long for help output.  Also, there is no such thing
> as a "psql database".

Agreed.

However, I wonder if "output database" is the proper name for -d?  Isn't
it more "restore database" or "target database"?  Output makes me think
of pg_dump.

pg_restore manual page has for -d:

       --dbname=dbname
              Connect  to  database  dbname  and restore directly
              into the database.

No mention of "output" there.

I have updated some of the help wording for pg_restore which should clarify
things.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/bin/pg_dump/pg_restore.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/pg_dump/pg_restore.c,v
retrieving revision 1.62
diff -c -c -r1.62 pg_restore.c
*** src/bin/pg_dump/pg_restore.c    12 Oct 2004 21:54:44 -0000    1.62
--- src/bin/pg_dump/pg_restore.c    13 Oct 2004 00:40:10 -0000
***************
*** 360,366 ****
      printf(_("  %s [OPTION]... [FILE]\n"), progname);

      printf(_("\nGeneral options:\n"));
!     printf(_("  -d, --dbname=NAME        output database name\n"));
      printf(_("  -f, --file=FILENAME      output file name\n"));
      printf(_("  -F, --format=c|t         specify backup file format\n"));
      printf(_("  -i, --ignore-version     proceed even when server version mismatches\n"));
--- 360,366 ----
      printf(_("  %s [OPTION]... [FILE]\n"), progname);

      printf(_("\nGeneral options:\n"));
!     printf(_("  -d, --dbname=NAME        restore database name\n"));
      printf(_("  -f, --file=FILENAME      output file name\n"));
      printf(_("  -F, --format=c|t         specify backup file format\n"));
      printf(_("  -i, --ignore-version     proceed even when server version mismatches\n"));
***************
*** 369,382 ****
      printf(_("  --help                   show this help, then exit\n"));
      printf(_("  --version                output version information, then exit\n"));

!     printf(_("\nOptions controlling the output content:\n"));
      printf(_("  -a, --data-only          restore only the data, no schema\n"));
      printf(_("  -c, --clean              clean (drop) schema prior to create\n"));
      printf(_("  -C, --create             issue commands to create the database\n"));
      printf(_("  -I, --index=NAME         restore named index\n"));
      printf(_("  -L, --use-list=FILENAME  use specified table of contents for ordering\n"
               "                           output from this file\n"));
!     printf(_("  -O, --no-owner           do not output commands to set object ownership\n"));
      printf(_("  -P, --function=NAME(args)\n"
               "                           restore named function\n"));
      printf(_("  -s, --schema-only        restore only the schema, no data\n"));
--- 369,382 ----
      printf(_("  --help                   show this help, then exit\n"));
      printf(_("  --version                output version information, then exit\n"));

!     printf(_("\nOptions controlling the restore:\n"));
      printf(_("  -a, --data-only          restore only the data, no schema\n"));
      printf(_("  -c, --clean              clean (drop) schema prior to create\n"));
      printf(_("  -C, --create             issue commands to create the database\n"));
      printf(_("  -I, --index=NAME         restore named index\n"));
      printf(_("  -L, --use-list=FILENAME  use specified table of contents for ordering\n"
               "                           output from this file\n"));
!     printf(_("  -O, --no-owner           do not issue commands to set object ownership\n"));
      printf(_("  -P, --function=NAME(args)\n"
               "                           restore named function\n"));
      printf(_("  -s, --schema-only        restore only the schema, no data\n"));

Re: pg_restore - added documentation

From
Peter Eisentraut
Date:
Bruce Momjian wrote:
> However, I wonder if "output database" is the proper name for -d?
> Isn't it more "restore database" or "target database"?

"restore database name" sounds like, "When this option is specified,
only the database name is restored.".  "target database" sounds a lot
better.

Your other change, "issue commands" may be interpreted incorrectly.
When not restoring to a database, the commands are in fact "output",
not "issued".  Not sure how to make that clear, though I don't much
like "issue" either way, because it doesn't have a precise meaning.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


Re: pg_restore - added documentation

From
Bruce Momjian
Date:
OK, wording updated and applied.  I used "process" instead of "issue".

---------------------------------------------------------------------------

Peter Eisentraut wrote:
> Bruce Momjian wrote:
> > However, I wonder if "output database" is the proper name for -d?
> > Isn't it more "restore database" or "target database"?
>
> "restore database name" sounds like, "When this option is specified,
> only the database name is restored.".  "target database" sounds a lot
> better.
>
> Your other change, "issue commands" may be interpreted incorrectly.
> When not restoring to a database, the commands are in fact "output",
> not "issued".  Not sure how to make that clear, though I don't much
> like "issue" either way, because it doesn't have a precise meaning.
>
> --
> Peter Eisentraut
> http://developer.postgresql.org/~petere/
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/bin/pg_dump/pg_restore.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/pg_dump/pg_restore.c,v
retrieving revision 1.63
diff -c -c -r1.63 pg_restore.c
*** src/bin/pg_dump/pg_restore.c    13 Oct 2004 00:42:53 -0000    1.63
--- src/bin/pg_dump/pg_restore.c    13 Oct 2004 14:23:37 -0000
***************
*** 360,366 ****
      printf(_("  %s [OPTION]... [FILE]\n"), progname);

      printf(_("\nGeneral options:\n"));
!     printf(_("  -d, --dbname=NAME        restore database name\n"));
      printf(_("  -f, --file=FILENAME      output file name\n"));
      printf(_("  -F, --format=c|t         specify backup file format\n"));
      printf(_("  -i, --ignore-version     proceed even when server version mismatches\n"));
--- 360,366 ----
      printf(_("  %s [OPTION]... [FILE]\n"), progname);

      printf(_("\nGeneral options:\n"));
!     printf(_("  -d, --dbname=NAME        target database name\n"));
      printf(_("  -f, --file=FILENAME      output file name\n"));
      printf(_("  -F, --format=c|t         specify backup file format\n"));
      printf(_("  -i, --ignore-version     proceed even when server version mismatches\n"));
***************
*** 372,378 ****
      printf(_("\nOptions controlling the restore:\n"));
      printf(_("  -a, --data-only          restore only the data, no schema\n"));
      printf(_("  -c, --clean              clean (drop) schema prior to create\n"));
!     printf(_("  -C, --create             issue commands to create the database\n"));
      printf(_("  -I, --index=NAME         restore named index\n"));
      printf(_("  -L, --use-list=FILENAME  use specified table of contents for ordering\n"
               "                           output from this file\n"));
--- 372,378 ----
      printf(_("\nOptions controlling the restore:\n"));
      printf(_("  -a, --data-only          restore only the data, no schema\n"));
      printf(_("  -c, --clean              clean (drop) schema prior to create\n"));
!     printf(_("  -C, --create             process commands to create the database\n"));
      printf(_("  -I, --index=NAME         restore named index\n"));
      printf(_("  -L, --use-list=FILENAME  use specified table of contents for ordering\n"
               "                           output from this file\n"));

Re: pg_restore - added documentation

From
Peter Eisentraut
Date:
Bruce Momjian wrote:
> OK, wording updated and applied.  I used "process" instead of
> "issue".

I think this is drifting farther and farther from the target...  Does
anyone else have a wording suggestion?

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


Re: pg_restore - added documentation

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> Bruce Momjian wrote:
>> However, I wonder if "output database" is the proper name for -d?
>> Isn't it more "restore database" or "target database"?

> "restore database name" sounds like, "When this option is specified,
> only the database name is restored.".  "target database" sounds a lot
> better.

-d really only specifies the database to which pg_restore initially
connects.  If you've requested a CREATE DATABASE command be issued (-C
I think) then the actual restore will happen into that database.

            regards, tom lane

Re: pg_restore - added documentation

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> !     printf(_("  -C, --create             process commands to create the database\n"));

Wow, that's just about *completely* content-free.  Obviously
documentation written by a committee :-(

How about

!     printf(_("  -d, --dbname=NAME        connect to database NAME\n"));

!     printf(_("  -C, --create             create the target database\n"));


            regards, tom lane

Re: pg_restore - added documentation

From
Bruce Momjian
Date:
Changes made.

---------------------------------------------------------------------------

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > !     printf(_("  -C, --create             process commands to create the database\n"));
>
> Wow, that's just about *completely* content-free.  Obviously
> documentation written by a committee :-(
>
> How about
>
> !     printf(_("  -d, --dbname=NAME        connect to database NAME\n"));
>
> !     printf(_("  -C, --create             create the target database\n"));
>
>
>             regards, tom lane
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073