|
%c
Session ID. A unique identifier for each session.
- It is 2 4-byte hexadecimal numbers separated by a dot. The numbers
+ It is 2 4-byte hexadecimal numbers (without leading zeros)
+ separated by a dot. The numbers
are the Session Start Time and the Process ID, so this can also
be used as a space saving way of printing these items.
Yes
-
- log_pid (boolean)
-
- Prefixes each message in the server log file with the process ID of
- the server process. This is useful to sort out which messages
- pertain to which connection. The default is off. This parameter
- does not affect messages logged via
syslog>, which
- always contain the process ID.
-
-
-
-
log_statement (boolean)
-
- log_timestamp (boolean)
-
- Prefixes each server log message with a time stamp. The default
- is off.
-
-
-
-
log_hostname (boolean)
-
- log_source_port (boolean)
-
- Shows the outgoing port number of the connecting host in the
- connection log messages. You could trace back the port number
- to find out what user initiated the connection. Other than
- that, it's pretty useless and therefore off by default. This
- option can only be set at server start.
-
-
-
-
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.373 2004/03/10 21:12:46 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.374 2004/03/15 15:56:21 momjian Exp $
*
* NOTES
*
int CheckPointWarning = 30;
time_t LastSignalledCheckpoint = 0;
-bool log_hostname; /* for ps display */
-bool LogSourcePort;
+bool log_hostname; /* for ps display and logging */
bool Log_connections = false;
bool Db_user_namespace = false;
struct timezone tz;
char remote_host[NI_MAXHOST];
char remote_port[NI_MAXSERV];
+ char remote_ps_data[NI_MAXHOST];
IsUnderPostmaster = true; /* we are a postmaster subprocess now */
remote_port, sizeof(remote_port),
NI_NUMERICHOST | NI_NUMERICSERV);
}
+ snprintf(remote_ps_data, sizeof(remote_ps_data),
+ remote_port[0] == '\0' ? "%s" : "%s(%s)",
+ remote_host, remote_port);
if (Log_connections)
ereport(LOG,
(errmsg("connection received: host=%s port=%s",
remote_host, remote_port)));
- if (LogSourcePort)
- {
- /* modify remote_host for use in ps status */
- char tmphost[NI_MAXHOST];
-
- snprintf(tmphost, sizeof(tmphost), "%s(%s)", remote_host, remote_port);
- StrNCpy(remote_host, tmphost, sizeof(remote_host));
- }
-
/*
* save remote_host and remote_port in port stucture
*/
* title for ps. It's good to do this as early as possible in
* startup.
*/
- init_ps_display(port->user_name, port->database_name, remote_host);
+ init_ps_display(port->user_name, port->database_name, remote_ps_data);
set_ps_display("authentication");
/*
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.394 2004/03/09 04:43:07 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.395 2004/03/15 15:56:22 momjian Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
snprintf(dbname, sizeof(dbname)," database=%s",port->database_name);
snprintf(remote_host,sizeof(remote_host)," host=%s",
port->remote_host);
- /* prevent redundant or empty reporting of port */
- if (!LogSourcePort && strlen(port->remote_port))
- snprintf(remote_port,sizeof(remote_port)," port=%s",port->remote_port);
- else
- remote_port[0] = '\0';
+ snprintf(remote_port,sizeof(remote_port)," port=%s",port->remote_port);
gettimeofday(&end,NULL);
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.127 2004/03/09 04:43:07 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.128 2004/03/15 15:56:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
/* GUC parameters */
PGErrorVerbosity Log_error_verbosity = PGERROR_VERBOSE;
-bool Log_timestamp = false; /* show timestamps in stderr
- * output */
-bool Log_pid = false; /* show PIDs in stderr output */
char *Log_line_prefix = ""; /* format for extra log line info */
#ifdef HAVE_SYSLOG
static char *expand_fmt_string(const char *fmt, ErrorData *edata);
static const char *useful_strerror(int errnum);
static const char *error_severity(int elevel);
-static const char *print_timestamp(void);
-static const char *print_pid(void);
static void append_with_tabs(StringInfo buf, const char *str);
static const char *log_line_prefix(void);
case 'r':
j += snprintf(result+j,result_len-j,"%s",
MyProcPort->remote_host);
- if (!LogSourcePort && strlen(MyProcPort->remote_port))
+ if (strlen(MyProcPort->remote_port) > 0)
j += snprintf(result+j,result_len-j,"(%s)",
MyProcPort->remote_port);
break;
* Timestamp and PID are only used for stderr output --- we assume
* the syslog daemon will supply them for us in the other case.
*/
- fprintf(stderr, "%s%s%s",
- Log_timestamp ? print_timestamp() : "",
- Log_pid ? print_pid() : "",
- buf.data);
+ fprintf(stderr, "%s",buf.data);
}
pfree(buf.data);
}
-/*
- * Return a timestamp string like
- *
- * "2000-06-04 13:12:03 "
- */
-static const char *
-print_timestamp(void)
-{
- time_t curtime;
- static char buf[21]; /* format `YYYY-MM-DD HH:MM:SS ' */
-
- curtime = time(NULL);
-
- strftime(buf, sizeof(buf),
- "%Y-%m-%d %H:%M:%S ",
- localtime(&curtime));
-
- return buf;
-}
-
-
-/*
- * Return a string like
- *
- * "[123456] "
- *
- * with the current pid.
- */
-static const char *
-print_pid(void)
-{
- static char buf[10]; /* allow `[123456] ' */
-
- snprintf(buf, sizeof(buf), "[%d] ", (int) MyProcPid);
- return buf;
-}
-
/*
* append_with_tabs
*
* Written by Peter Eisentraut
.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.189 2004/03/09 04:43:07 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.190 2004/03/15 15:56:24 momjian Exp $
*
*--------------------------------------------------------------------
*/
&Log_disconnections,
false, NULL, NULL
},
- {
- {"log_timestamp", PGC_SIGHUP, LOGGING_WHAT,
- gettext_noop("Prefixes server log messages with a time stamp."),
- NULL
- },
- &Log_timestamp,
- false, NULL, NULL
- },
- {
- {"log_pid", PGC_SIGHUP, LOGGING_WHAT,
- gettext_noop("Prefixes server log messages with the server PID."),
- NULL
- },
- &Log_pid,
- false, NULL, NULL
- },
#ifdef USE_ASSERT_CHECKING
{
&log_hostname,
false, NULL, NULL
},
- {
- {"log_source_port", PGC_SIGHUP, LOGGING_WHAT,
- gettext_noop("Logs the outgoing port number of the connecting host."),
- NULL
- },
- &LogSourcePort,
- false, NULL, NULL
- },
-
{
{"sql_inheritance", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
gettext_noop("Causes subtables to be included by default in various commands."),
#log_connections = false
#log_disconnections = false
#log_duration = false
-#log_pid = false
#log_line_prefix = '' # e.g. '<%u%%%d> '
# %u=user name %d=database name
# %r=remote host and port
# %x=stop here in non-session processes
# %%='%'
#log_statement = false
-#log_timestamp = false
#log_hostname = false
-#log_source_port = false
#---------------------------------------------------------------------------
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/tcop/tcopprot.h,v 1.61 2003/11/29 22:41:14 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/tcop/tcopprot.h,v 1.62 2004/03/15 15:56:27 momjian Exp $
*
* OLD COMMENTS
* This file was created so that other c files could get the two
extern bool InError;
extern CommandDest whereToSendOutput;
extern bool log_hostname;
-extern bool LogSourcePort;
extern DLLIMPORT const char *debug_query_string;
extern char *rendezvous_name;
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/utils/elog.h,v 1.65 2004/03/09 04:43:07 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/elog.h,v 1.66 2004/03/15 15:56:28 momjian Exp $
*
*-------------------------------------------------------------------------
*/
} PGErrorVerbosity;
extern PGErrorVerbosity Log_error_verbosity;
-extern bool Log_timestamp;
-extern bool Log_pid;
extern char *Log_line_prefix;
#ifdef HAVE_SYSLOG