In bootstrap and standalone-backend modes, do not sort LOG elevel out

of order; the 'server log' output is actually client output in these
scenarios and we ought to treat elevels the same way as in the client
case.  This allows initdb to not send backend stderr to /dev/null anymore,
which makes it much more likely that people will notice problems during
initdb.
This commit is contained in:
Tom Lane 2003-05-28 17:25:02 +00:00
parent fc8d970cbc
commit aae078198d
5 changed files with 35 additions and 24 deletions

View File

@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.329 2003/05/27 17:49:46 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.330 2003/05/28 17:25:02 tgl Exp $
*
* NOTES
*
@ -379,6 +379,8 @@ PostmasterMain(int argc, char *argv[])
progname = argv[0];
IsPostmasterEnvironment = true;
/*
* Catch standard options before doing much else. This even works on
* systems without getopt_long.

View File

@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.109 2003/04/24 21:16:44 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.110 2003/05/28 17:25:02 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -189,25 +189,33 @@ errstart(int elevel, const char *filename, int lineno,
}
/* Determine whether message is enabled for server log output */
/* Complicated because LOG is sorted out-of-order for this purpose */
if (elevel == LOG || elevel == COMMERROR)
if (IsPostmasterEnvironment)
{
if (log_min_messages == LOG)
output_to_server = true;
else if (log_min_messages < FATAL)
output_to_server = true;
/* Complicated because LOG is sorted out-of-order for this purpose */
if (elevel == LOG || elevel == COMMERROR)
{
if (log_min_messages == LOG)
output_to_server = true;
else if (log_min_messages < FATAL)
output_to_server = true;
}
else
{
/* elevel != LOG */
if (log_min_messages == LOG)
{
if (elevel >= FATAL)
output_to_server = true;
}
/* Neither is LOG */
else if (elevel >= log_min_messages)
output_to_server = true;
}
}
else
{
/* elevel != LOG */
if (log_min_messages == LOG)
{
if (elevel >= FATAL)
output_to_server = true;
}
/* Neither is LOG */
else if (elevel >= log_min_messages)
output_to_server = true;
/* In bootstrap/standalone case, do not sort LOG out-of-order */
output_to_server = (elevel >= log_min_messages);
}
/* Determine whether message is enabled for client output */

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.69 2003/02/22 05:57:45 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.70 2003/05/28 17:25:02 tgl Exp $
*
* NOTES
* Globals used all over the place should be declared here and not
@ -57,6 +57,8 @@ char *DatabasePath = NULL;
Oid MyDatabaseId = InvalidOid;
/* these are initialized for the bootstrap/standalone case: */
bool IsPostmasterEnvironment = false;
bool IsUnderPostmaster = false;
int DateStyle = USE_ISO_DATES;

View File

@ -27,7 +27,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/initdb/Attic/initdb.sh,v 1.189 2003/05/15 15:50:19 petere Exp $
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.190 2003/05/28 17:25:02 tgl Exp $
#
#-------------------------------------------------------------------------
@ -546,9 +546,7 @@ PGSQL_OPT="-F -D$PGDATA"
if [ "$debug" = yes ]
then
BACKEND_TALK_ARG="-d 5"
else
PGSQL_OPT="$PGSQL_OPT -o /dev/null"
BOOTSTRAP_TALK_ARG="-d 5"
fi
@ -570,7 +568,7 @@ cat "$POSTGRES_BKI" \
export LC_COLLATE
export LC_CTYPE
unset LC_ALL
"$PGPATH"/postgres -boot -x1 $PGSQL_OPT $BACKEND_TALK_ARG template1
"$PGPATH"/postgres -boot -x1 $PGSQL_OPT $BOOTSTRAP_TALK_ARG template1
) \
|| exit_nicely

View File

@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: miscadmin.h,v 1.121 2003/05/03 03:52:07 momjian Exp $
* $Id: miscadmin.h,v 1.122 2003/05/28 17:25:02 tgl Exp $
*
* NOTES
* some of the information in this file should be moved to
@ -104,6 +104,7 @@ extern void ProcessInterrupts(void);
/*
* from postmaster/postmaster.c
*/
extern bool IsPostmasterEnvironment;
extern bool IsUnderPostmaster;
extern bool ClientAuthInProgress;
extern const bool ExecBackend;