Commit 6b7eebc0 authored by Tom Lane's avatar Tom Lane

Increase PG_SYSLOG_LIMIT (the max line length sent to syslog()) from 128 to

1024 to improve performance when sending large elog messages.  Also add a
comment about why we use that number.

Since this represents an externally visible behavior change, and might
possibly result in portability issues, it seems best not to back-patch it.
parent 37933102
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.204 2008/07/08 22:17:41 tgl Exp $ * $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.205 2008/07/09 15:56:49 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -85,6 +85,17 @@ char *Log_line_prefix = NULL; /* format for extra log line info */ ...@@ -85,6 +85,17 @@ char *Log_line_prefix = NULL; /* format for extra log line info */
int Log_destination = LOG_DESTINATION_STDERR; int Log_destination = LOG_DESTINATION_STDERR;
#ifdef HAVE_SYSLOG #ifdef HAVE_SYSLOG
/*
* Max string length to send to syslog(). Note that this doesn't count the
* sequence-number prefix we add, and of course it doesn't count the prefix
* added by syslog itself. On many implementations it seems that the hard
* limit is approximately 2K bytes including both those prefixes.
*/
#ifndef PG_SYSLOG_LIMIT
#define PG_SYSLOG_LIMIT 1024
#endif
static bool openlog_done = false; static bool openlog_done = false;
static char *syslog_ident = NULL; static char *syslog_ident = NULL;
static int syslog_facility = LOG_LOCAL0; static int syslog_facility = LOG_LOCAL0;
...@@ -1257,7 +1268,6 @@ DebugFileOpen(void) ...@@ -1257,7 +1268,6 @@ DebugFileOpen(void)
} }
#ifdef HAVE_SYSLOG #ifdef HAVE_SYSLOG
/* /*
...@@ -1293,10 +1303,6 @@ set_syslog_parameters(const char *ident, int facility) ...@@ -1293,10 +1303,6 @@ set_syslog_parameters(const char *ident, int facility)
} }
#ifndef PG_SYSLOG_LIMIT
#define PG_SYSLOG_LIMIT 128
#endif
/* /*
* Write a message line to syslog * Write a message line to syslog
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment