aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-07-09 15:56:49 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-07-09 15:56:49 +0000
commit6b7eebc05e3bfd86757f5aa1f05bca463e92d7db (patch)
tree13a1478f0f1b795e47173deee53442aa92c2560a
parent3793310286546f12bfae9632c81bfaee67a913c1 (diff)
downloadpostgresql-6b7eebc05e3bfd86757f5aa1f05bca463e92d7db.tar.gz
postgresql-6b7eebc05e3bfd86757f5aa1f05bca463e92d7db.zip
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.
-rw-r--r--src/backend/utils/error/elog.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 0d4fd56a224..46b7853e50a 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -42,7 +42,7 @@
*
*
* 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 */
int Log_destination = LOG_DESTINATION_STDERR;
#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 char *syslog_ident = NULL;
static int syslog_facility = LOG_LOCAL0;
@@ -1257,7 +1268,6 @@ DebugFileOpen(void)
}
-
#ifdef HAVE_SYSLOG
/*
@@ -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
*/