diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml index d0849388cd..9e0de5572c 100644 --- a/doc/src/sgml/ref/createdb.sgml +++ b/doc/src/sgml/ref/createdb.sgml @@ -1,5 +1,5 @@ @@ -237,6 +237,16 @@ PostgreSQL documentation Environment + + PGDATABASE + + + If set, the name of the database to create, unless overridden on + the command line. + + + + PGHOST PGPORT @@ -246,7 +256,7 @@ PostgreSQL documentation Default connection parameters. PGUSER also determines the name of the database to create, if it is not - specified in the command line. + specified on the command line or by PGDATABASE. @@ -257,7 +267,6 @@ PostgreSQL documentation Examples - To create the database demo using the default database server: @@ -268,9 +277,7 @@ PostgreSQL documentation The response is the same as you would have gotten from running the CREATE DATABASE SQL command. - - To create the database demo using the server on host eden, port 5000, using the @@ -282,7 +289,6 @@ PostgreSQL documentation CREATE DATABASE - diff --git a/doc/src/sgml/ref/createlang.sgml b/doc/src/sgml/ref/createlang.sgml index 7ad26ae82e..b454374deb 100644 --- a/doc/src/sgml/ref/createlang.sgml +++ b/doc/src/sgml/ref/createlang.sgml @@ -1,5 +1,5 @@ @@ -168,6 +168,7 @@ PostgreSQL documentation + PGDATABASE PGHOST PGPORT PGUSER @@ -214,7 +215,6 @@ PostgreSQL documentation Examples - To install pltcl into the database template1: @@ -222,7 +222,6 @@ PostgreSQL documentation $ createlang pltcl template1 - diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml index d4be6e7b25..1576062aff 100644 --- a/doc/src/sgml/ref/createuser.sgml +++ b/doc/src/sgml/ref/createuser.sgml @@ -1,5 +1,5 @@ @@ -128,7 +128,7 @@ PostgreSQL documentation The new user is allowed to create other users. - (Note: actually, this makes the new user a superuser. + (Note: Actually, this makes the new user a superuser. The option is poorly named.) @@ -264,7 +264,6 @@ PostgreSQL documentation Examples - To create a user joe on the default database server: @@ -275,9 +274,7 @@ PostgreSQL documentation CREATE USER - - To create the same user joe using the server on host eden, port 5000, avoiding the prompts and @@ -288,7 +285,6 @@ PostgreSQL documentation CREATE USER - diff --git a/doc/src/sgml/ref/dropdb.sgml b/doc/src/sgml/ref/dropdb.sgml index e2fd2e3ecc..aaecbf821c 100644 --- a/doc/src/sgml/ref/dropdb.sgml +++ b/doc/src/sgml/ref/dropdb.sgml @@ -1,5 +1,5 @@ @@ -191,7 +191,6 @@ PostgreSQL documentation Examples - To destroy the database demo on the default database server: @@ -200,9 +199,7 @@ PostgreSQL documentation DROP DATABASE - - To destroy the database demo using the server on host eden, port 5000, with verification and a peek @@ -215,7 +212,6 @@ Are you sure? (y/n) y DROP DATABASE - diff --git a/doc/src/sgml/ref/droplang.sgml b/doc/src/sgml/ref/droplang.sgml index 186af6e2a0..d6f14cfbca 100644 --- a/doc/src/sgml/ref/droplang.sgml +++ b/doc/src/sgml/ref/droplang.sgml @@ -1,5 +1,5 @@ @@ -157,6 +157,7 @@ PostgreSQL documentation + PGDATABASE PGHOST PGPORT PGUSER @@ -196,14 +197,12 @@ PostgreSQL documentation Examples - To remove pltcl: $ droplang pltcl dbname - diff --git a/doc/src/sgml/ref/dropuser.sgml b/doc/src/sgml/ref/dropuser.sgml index 5d45347ee1..9fdd3c72d3 100644 --- a/doc/src/sgml/ref/dropuser.sgml +++ b/doc/src/sgml/ref/dropuser.sgml @@ -1,5 +1,5 @@ @@ -181,7 +181,6 @@ PostgreSQL documentation Examples - To remove user joe from the default database server: @@ -190,9 +189,7 @@ PostgreSQL documentation DROP USER - - To remove user joe using the postmaster on host eden, port 5000, with verification and a peek at the underlying @@ -205,7 +202,6 @@ Are you sure? (y/n) y DROP USER - diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 7969489f11..2f5085a52d 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -1,5 +1,5 @@ @@ -43,7 +43,7 @@ PostgreSQL documentation -p port -U username -W - dbname + dbname @@ -126,7 +126,10 @@ PostgreSQL documentation dbname - Specifies the name of the database to be dumped. + Specifies the name of the database to be dumped. If this is + not specified, the environment variable + PGDATABASE is used. If that is not set, the + user name specified for the connection is used. @@ -562,7 +565,7 @@ PostgreSQL documentation - Connect as the given user. + Connect as the given user @@ -588,15 +591,6 @@ PostgreSQL documentation PGDATABASE - - - - Database to dump, unless overridden on the command line. - - - - - PGHOST PGPORT PGUSER diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index e89d76bbc1..7f5432fc7a 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -1,4 +1,4 @@ - + @@ -475,7 +475,7 @@ - Connect as the given user. + Connect as the given user diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml index 37debc1b84..f29eabce1b 100644 --- a/doc/src/sgml/ref/vacuumdb.sgml +++ b/doc/src/sgml/ref/vacuumdb.sgml @@ -1,5 +1,5 @@ @@ -75,6 +75,11 @@ PostgreSQL documentation Specifies the name of the database to be cleaned or analyzed. + If this is not specified and (or + ) is not used, the database name is read + from the environment variable PGDATABASE. If + that is not set, the user name specified for the connection is + used. @@ -251,6 +256,7 @@ PostgreSQL documentation + PGDATABASE PGHOST PGPORT PGUSER @@ -268,16 +274,13 @@ PostgreSQL documentation Examples - To clean the database test: $ vacuumdb test - - To clean and analyze for the optimizer a database named bigdb: @@ -285,9 +288,7 @@ PostgreSQL documentation $ vacuumdb --analyze bigdb - - To clean a single table foo in a database named @@ -297,7 +298,6 @@ PostgreSQL documentation $ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy - diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index 3f5b5a503e..b058500e86 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -11,61 +11,11 @@ * as this notice is not removed. * * The author is not responsible for loss or damages that may - * result from it's use. + * result from its use. * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.52 2002/07/04 15:35:07 momjian Exp $ - * - * Modifications - 28-Jun-2000 - pjw@rhyme.com.au - * - * Initial version. - * - * Modifications - 31-Jul-2000 - pjw@rhyme.com.au (1.46, 1.47) - * Fixed version number initialization in _allocAH (pg_backup_archiver.c) - * - * - * Modifications - 30-Oct-2000 - pjw@rhyme.com.au - * Added {Start,End}RestoreBlobs to allow extended TX during BLOB restore. - * - * Modifications - 04-Jan-2001 - pjw@rhyme.com.au - * - strdup() the current user just in case it's deallocated from it's TOC - * entry. Should *never* happen, but that's what they said about the - * Titanic... - * - * - Check results of IO routines more carefully. - * - * Modifications - 27-Jan-2001 - pjw@rhyme.com.au - * - When dropping the schema, reconnect as owner of each object. - * - * Modifications - 6-Mar-2001 - pjw@rhyme.com.au - * - Only disable triggers in DataOnly (or implied data-only) restores. - * - * Modifications - 31-Mar-2001 - pjw@rhyme.com.au - * - * - Rudimentary support for dependencies in archives. Current implementation - * uses dependencies to modify the OID used in sorting TOC entries. - * This will NOT handle multi-level dependencies, but will manage simple - * relationships like UDTs & their functions. - * - * - Treat OIDs with more respect (avoid using ints, use macros for - * conversion & comparison). - * - * Modifications - 10-May-2001 - pjw@rhyme.com.au - * - Treat SEQUENCE SET TOC entries as data entries rather than schema - * entries. - * - Make allowance for data entries that did not have a data dumper - * routine (eg. SEQUENCE SET) - * - * Modifications - 01-Nov-2001 - pjw@rhyme.com.au - * - Fix handling of {data/schema}-only restores when using a full - * backup file; prior version was restoring schema in data-only - * restores. Added enum to make code easier to understand. - * - * Modifications - 18-Jan-2002 - pjw@rhyme.com.au - * - Modified _tocEntryRequired to handle '/Max OID' as a special - * case (ie. as a DATA item) as per bugs reported by Bruce Momjian - * around 17-Jan-2002. + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.53 2002/08/10 16:57:31 petere Exp $ * *------------------------------------------------------------------------- */ @@ -2263,7 +2213,7 @@ WriteHead(ArchiveHandle *AH) WriteInt(AH, crtm.tm_mon); WriteInt(AH, crtm.tm_year); WriteInt(AH, crtm.tm_isdst); - WriteStr(AH, AH->dbname); + WriteStr(AH, PQdb(AH->connection)); } void diff --git a/src/bin/pg_dump/pg_backup_archiver.h b/src/bin/pg_dump/pg_backup_archiver.h index 90c126d8ff..d6e9036692 100644 --- a/src/bin/pg_dump/pg_backup_archiver.h +++ b/src/bin/pg_dump/pg_backup_archiver.h @@ -17,7 +17,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.h,v 1.44 2002/07/04 15:35:07 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.h,v 1.45 2002/08/10 16:57:31 petere Exp $ * *------------------------------------------------------------------------- */ @@ -195,11 +195,7 @@ typedef struct _archiveHandle CustomOutPtr CustomOutPtr; /* Alternate script output routine */ /* Stuff for direct DB connection */ - char *username; - char *dbname; /* Name of db for connection */ char *archdbname; /* DB name *read* from archive */ - char *pghost; - char *pgport; bool requirePassword; PGconn *connection; PGconn *blobConnection; /* Connection for BLOB xref */ diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index a50f71bcaa..03c382d14d 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -5,7 +5,7 @@ * Implements the basic DB functions used by the archiver. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.35 2002/07/06 20:12:30 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.36 2002/08/10 16:57:31 petere Exp $ * *------------------------------------------------------------------------- */ @@ -129,10 +129,6 @@ ReconnectToServer(ArchiveHandle *AH, const char *dbname, const char *username) PQfinish(AH->connection); AH->connection = newConn; - free(AH->username); - AH->username = strdup(newusername); - /* XXX Why don't we update AH->dbname? */ - /* don't assume we still know the output schema */ if (AH->currSchema) free(AH->currSchema); @@ -241,26 +237,6 @@ ConnectDatabase(Archive *AHX, if (AH->connection) die_horribly(AH, modulename, "already connected to a database\n"); - if (!dbname && !(dbname = getenv("PGDATABASE"))) - die_horribly(AH, modulename, "no database name specified\n"); - - AH->dbname = strdup(dbname); - - if (pghost != NULL) - AH->pghost = strdup(pghost); - else - AH->pghost = NULL; - - if (pgport != NULL) - AH->pgport = strdup(pgport); - else - AH->pgport = NULL; - - if (username != NULL) - AH->username = strdup(username); - else - AH->username = NULL; - if (reqPwd) { password = simple_prompt("Password: ", 100, false); @@ -278,8 +254,8 @@ ConnectDatabase(Archive *AHX, do { need_pass = false; - AH->connection = PQsetdbLogin(AH->pghost, AH->pgport, NULL, NULL, - AH->dbname, AH->username, password); + AH->connection = PQsetdbLogin(pghost, pgport, NULL, NULL, + dbname, username, password); if (!AH->connection) die_horribly(AH, modulename, "failed to connect to database\n"); @@ -302,7 +278,7 @@ ConnectDatabase(Archive *AHX, /* check to see that the backend connection was successfully made */ if (PQstatus(AH->connection) == CONNECTION_BAD) die_horribly(AH, modulename, "connection to database \"%s\" failed: %s", - AH->dbname, PQerrorMessage(AH->connection)); + PQdb(AH->connection), PQerrorMessage(AH->connection)); /* check for version mismatch */ _check_database_version(AH, ignoreVersion); diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 63a82229fc..0397320a73 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -22,7 +22,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.280 2002/08/04 05:03:29 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.281 2002/08/10 16:57:31 petere Exp $ * *------------------------------------------------------------------------- */ @@ -480,16 +480,9 @@ main(int argc, char **argv) exit(1); } - /* Get the target database name */ + /* Get database name from command line */ if (optind < argc) dbname = argv[optind]; - else - dbname = getenv("PGDATABASE"); - if (!dbname) - { - write_msg(NULL, "no database name specified\n"); - exit(1); - } if (dataOnly && schemaOnly) { @@ -588,7 +581,7 @@ main(int argc, char **argv) if (g_fout->remoteVersion < 70300) { if (g_fout->remoteVersion >= 70100) - g_last_builtin_oid = findLastBuiltinOid_V71(dbname); + g_last_builtin_oid = findLastBuiltinOid_V71(PQdb(((ArchiveHandle *)g_conn)->connection)); else g_last_builtin_oid = findLastBuiltinOid_V70(); if (g_verbose) diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index c819154f54..319af0a987 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -30,11 +30,11 @@ * as this notice is not removed. * * The author is not responsible for loss or damages that may - * result from it's use. + * result from its use. * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_restore.c,v 1.37 2002/07/11 02:00:14 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_restore.c,v 1.38 2002/08/10 16:57:32 petere Exp $ * *------------------------------------------------------------------------- */ diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 592a8af3fb..02d7603975 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -3,7 +3,7 @@ * * Copyright 2000 by PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.52 2002/07/15 01:56:25 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.53 2002/08/10 16:57:32 petere Exp $ */ #include "postgres_fe.h" #include "print.h" @@ -58,7 +58,7 @@ usage(void) #endif /* Find default user, in case we need it. */ - user = getenv("USER"); + user = getenv("PGUSER"); if (!user) { #ifndef WIN32 @@ -70,9 +70,13 @@ usage(void) psql_error("could not get current user name: %s\n", strerror(errno)); exit(EXIT_FAILURE); } -#else - user = "?"; -#endif +#else /* WIN32 */ + char buf[128]; + DWORD bufsize = sizeof(buf) - 1; + + if (GetUserName(buf, &bufsize)) + user = buf; +#endif /* WIN32 */ } /* If this " is the start of the string then it ought to end there to fit in 80 columns >> " */ diff --git a/src/bin/scripts/createdb b/src/bin/scripts/createdb index 3087688a3a..639de5476c 100644 --- a/src/bin/scripts/createdb +++ b/src/bin/scripts/createdb @@ -12,7 +12,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.23 2002/06/20 20:29:42 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.24 2002/08/10 16:57:32 petere Exp $ # #------------------------------------------------------------------------- @@ -166,7 +166,9 @@ then fi if [ -z "$dbname" ]; then - if [ "$PGUSER" ]; then + if [ "$PGDATABASE" ]; then + dbname="$PGDATABASE" + elif [ "$PGUSER" ]; then dbname="$PGUSER" else dbname=`${PATHNAME}pg_id -u -n` diff --git a/src/bin/scripts/createlang.sh b/src/bin/scripts/createlang.sh index daca169a0b..d7a9e98064 100644 --- a/src/bin/scripts/createlang.sh +++ b/src/bin/scripts/createlang.sh @@ -7,7 +7,7 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.36 2002/06/20 20:29:42 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.37 2002/08/10 16:57:32 petere Exp $ # #------------------------------------------------------------------------- @@ -147,7 +147,9 @@ fi if [ -z "$dbname" ]; then - if [ "$PGUSER" ]; then + if [ "$PGDATABASE" ]; then + dbname="$PGDATABASE" + elif [ "$PGUSER" ]; then dbname="$PGUSER" else dbname=`${PATHNAME}pg_id -u -n` diff --git a/src/bin/scripts/droplang b/src/bin/scripts/droplang index 94bc732894..6970c936b7 100644 --- a/src/bin/scripts/droplang +++ b/src/bin/scripts/droplang @@ -7,7 +7,7 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.23 2002/06/20 20:29:42 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.24 2002/08/10 16:57:32 petere Exp $ # #------------------------------------------------------------------------- @@ -136,7 +136,9 @@ fi if [ -z "$dbname" ]; then - if [ "$PGUSER" ]; then + if [ "$PGDATABASE" ]; then + dbname="$PGDATABASE" + elif [ "$PGUSER" ]; then dbname="$PGUSER" else dbname=`${PATHNAME}pg_id -u -n` diff --git a/src/bin/scripts/vacuumdb b/src/bin/scripts/vacuumdb index bf4ae4594e..d1c5afc2dd 100644 --- a/src/bin/scripts/vacuumdb +++ b/src/bin/scripts/vacuumdb @@ -12,7 +12,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.22 2002/06/20 20:29:42 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.23 2002/08/10 16:57:32 petere Exp $ # #------------------------------------------------------------------------- @@ -156,7 +156,9 @@ if [ "$alldb" ]; then dbname=`${PATHNAME}psql $PSQLOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database WHERE datallowconn'` elif [ -z "$dbname" ]; then - if [ "$PGUSER" ]; then + if [ "$PGDATABASE" ]; then + dbname="$PGDATABASE" + elif [ "$PGUSER" ]; then dbname="$PGUSER" else dbname=`${PATHNAME}pg_id -u -n`