Environment
+
+ PGDATABASE
+
+
+ If set, the name of the database to create, unless overridden on
+ the command line.
+
+
+
+
PGHOSTPGPORT
@@ -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
+ PGDATABASEPGHOSTPGPORTPGUSER
@@ -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
+ PGDATABASEPGHOSTPGPORTPGUSER
@@ -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.
-
-
-
-
- PGHOSTPGPORTPGUSER
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
+ PGDATABASEPGHOSTPGPORTPGUSER
@@ -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`