--enable-syslog and Solaris 7
Hi,
I'm having a strange problem with syslog and Solaris 7, and I've run
out of ideas about what might be wrong.
I configure postgres with --enable-syslog, and everything works fine.
Configure finds syslog, so that's not a problem. In postgres.conf, I
have the following:
#
# Syslog
#
#ifdef ENABLE_SYSLOG
syslog = 2 # range 0-2
syslog_facility = 'LOCAL1'
syslog_ident = 'postgres'
#endif
And, in /etc/syslog.conf, I have
#Postgres logging
local1.* /opt/OXRS/logs/postgres/pg.log
(yes, the whitespace is tabs).
Now, the strange thing is that nothing ever seems to go to the syslog
daemon. If I start up syslogd with -d, it never shows anything
coming from postgres, even though I have logging levels turned up.
If I redirect the log to both console and logfile, I get lots of
noise on the console, bit nothing in the file, so I know it's not
from want of data.
Any suggestion is much appreciated, because I'm stumped. I've never
seen anything like this before.
Thanks,
A
--
----
Andrew Sullivan 87 Mowat Avenue
Liberty RMS Toronto, Ontario Canada
<andrew@libertyrms.com> M6K 3E3
+1 416 646 3304 x110
* Andrew Sullivan <andrew@libertyrms.com> [010830 08:54]:
Hi,
I'm having a strange problem with syslog and Solaris 7, and I've run
out of ideas about what might be wrong.I configure postgres with --enable-syslog, and everything works fine.
Configure finds syslog, so that's not a problem. In postgres.conf, I
have the following:#
# Syslog
#
#ifdef ENABLE_SYSLOG
syslog = 2 # range 0-2
syslog_facility = 'LOCAL1'
syslog_ident = 'postgres'
#endifAnd, in /etc/syslog.conf, I have
#Postgres logging
local1.* /opt/OXRS/logs/postgres/pg.log
(yes, the whitespace is tabs).
Now, the strange thing is that nothing ever seems to go to the syslog
daemon. If I start up syslogd with -d, it never shows anything
coming from postgres, even though I have logging levels turned up.
If I redirect the log to both console and logfile, I get lots of
noise on the console, bit nothing in the file, so I know it's not
from want of data.Any suggestion is much appreciated, because I'm stumped. I've never
seen anything like this before.
Any chance syslogd is running up against a file limit of some kind to
get the file open?
And the file exists and has the correct permissions?
I do know the syslog code works, I use it heavily on my
UnixWare/�penUNIX and FreeBSD boxen.
Thanks,
A-- ---- Andrew Sullivan 87 Mowat Avenue Liberty RMS Toronto, Ontario Canada <andrew@libertyrms.com> M6K 3E3 +1 416 646 3304 x110---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
On Thu, Aug 30, 2001 at 09:07:32AM -0500, Larry Rosenman wrote:
* Andrew Sullivan <andrew@libertyrms.com> [010830 08:54]:
Any chance syslogd is running up against a file limit of some kind to
get the file open?
I can't see what; this is on a little test box, and nothing else is
running.
And the file exists and has the correct permissions?
In desperation, I've opened it up completely, still with no joy:
-rwxrwxrwx 1 root other 0 Aug 30 08:53 pg.log
I also had it owned by postgres at one point. Anyway, I don't think
it can be a file problem, because running syslogd with debug on
doesn't show anything coming _in_ from postgres (unless I kill the
server with a client connected, because that throws a FATAL exception
which is caught). That suggests to me it must have something to do
with the facility that postgres is sending to, or my config file.
I'm really stumped.
I do know the syslog code works, I use it heavily on my
UnixWare/�penUNIX and FreeBSD boxen.
I've used it elsewhere, too, which is why I'm so puzzled.
A
--
----
Andrew Sullivan 87 Mowat Avenue
Liberty RMS Toronto, Ontario Canada
<andrew@libertyrms.com> M6K 3E3
+1 416 646 3304 x110
* Andrew Sullivan <andrew@libertyrms.com> [010830 09:27]:
On Thu, Aug 30, 2001 at 09:07:32AM -0500, Larry Rosenman wrote:
* Andrew Sullivan <andrew@libertyrms.com> [010830 08:54]:
Any chance syslogd is running up against a file limit of some kind to
get the file open?I can't see what; this is on a little test box, and nothing else is
running.And the file exists and has the correct permissions?
In desperation, I've opened it up completely, still with no joy:
-rwxrwxrwx 1 root other 0 Aug 30 08:53 pg.log
I also had it owned by postgres at one point. Anyway, I don't think
it can be a file problem, because running syslogd with debug on
doesn't show anything coming _in_ from postgres (unless I kill the
server with a client connected, because that throws a FATAL exception
which is caught). That suggests to me it must have something to do
with the facility that postgres is sending to, or my config file.
I'm really stumped.I do know the syslog code works, I use it heavily on my
UnixWare/�penUNIX and FreeBSD boxen.I've used it elsewhere, too, which is why I'm so puzzled.
What about /dev/log or other means of talking from PG to the Daemon?
I.E. is there another resource that is missing. I haven't used
Solaris in detail in a couple of years, so I'm not sure what pieces
need to be there for PG to talk to the syslogd...
LER
A
--
----
Andrew Sullivan 87 Mowat Avenue
Liberty RMS Toronto, Ontario Canada
<andrew@libertyrms.com> M6K 3E3
+1 416 646 3304 x110
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
On Jue 30 Ago 2001 10:35, Andrew Sullivan wrote:
Hi,
I'm having a strange problem with syslog and Solaris 7, and I've run
out of ideas about what might be wrong.I configure postgres with --enable-syslog, and everything works fine.
Configure finds syslog, so that's not a problem. In postgres.conf, I
have the following:#
# Syslog
#
#ifdef ENABLE_SYSLOG
syslog = 2 # range 0-2
syslog_facility = 'LOCAL1'
syslog_ident = 'postgres'
#endifAnd, in /etc/syslog.conf, I have
#Postgres logging
local1.* /opt/OXRS/logs/postgres/pg.log
On Solaris, this those not work!
BTW, why local1? It should be postgres (thats the ident).
Try with postgres.debug (that will give you everything from debug to critic).
(yes, the whitespace is tabs).
Now, the strange thing is that nothing ever seems to go to the syslog
daemon. If I start up syslogd with -d, it never shows anything
coming from postgres, even though I have logging levels turned up.
If I redirect the log to both console and logfile, I get lots of
noise on the console, bit nothing in the file, so I know it's not
from want of data.
saludos... :-)
--
Porqu� usar una base de datos relacional cualquiera,
si pod�s usar PostgreSQL?
-----------------------------------------------------------------
Mart�n Marqu�s | mmarques@unl.edu.ar
Programador, Administrador, DBA | Centro de Telematica
Universidad Nacional
del Litoral
-----------------------------------------------------------------
On Thu, Aug 30, 2001 at 11:47:07AM -0300, Mart?n Marqu?s wrote:
And, in /etc/syslog.conf, I have
#Postgres logging
local1.* /opt/OXRS/logs/postgres/pg.log
On Solaris, this those not work!
BTW, why local1? It should be postgres (thats the ident).
I thought you had to specify the facility. That's what the manpage
for syslog.conf says, anyway:
The selector field contains a semicolon-separated list of
priority specifications of the form:
facility.level [ ; facility.level ]
where facility is a system facility, or comma-separated list
of facilities, and level is an indication of the severity of
the condition being logged. Recognized values for facility
include:
[user, kern, . . . local0-7 . . .]
What's different about Solaris syslog (are the man pages wrong)?
Try with postgres.debug (that will give you everything from debug to critic).
No luck, but thanks.
A
--
----
Andrew Sullivan 87 Mowat Avenue
Liberty RMS Toronto, Ontario Canada
<andrew@libertyrms.com> M6K 3E3
+1 416 646 3304 x110
On Jue 30 Ago 2001 14:02, you wrote:
On Thu, Aug 30, 2001 at 11:47:07AM -0300, Mart?n Marqu?s wrote:
And, in /etc/syslog.conf, I have
#Postgres logging
local1.* /opt/OXRS/logs/postgres/pg.log
On Solaris, this those not work!
BTW, why local1? It should be postgres (thats the ident).I thought you had to specify the facility. That's what the manpage
for syslog.conf says, anyway:The selector field contains a semicolon-separated list of
priority specifications of the form:facility.level [ ; facility.level ]
where facility is a system facility, or comma-separated list
of facilities, and level is an indication of the severity of
the condition being logged. Recognized values for facility
include:[user, kern, . . . local0-7 . . .]
You are right about this:
I'll show you my configuration:
postgresql.conf:
#
# Syslog
#
#ifdef ENABLE_SYSLOG
syslog = 1 # range 0-2
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
#endif
/etc/syslog.conf:
local0.debug /var/log/postgresql
It worked for me!
What's different about Solaris syslog (are the man pages wrong)?
Nothing, but you can't put something like this:
local0.* /var/log/postgresql
--
Porqu� usar una base de datos relacional cualquiera,
si pod�s usar PostgreSQL?
-----------------------------------------------------------------
Mart�n Marqu�s | mmarques@unl.edu.ar
Programador, Administrador, DBA | Centro de Telematica
Universidad Nacional
del Litoral
-----------------------------------------------------------------
On Thu, Aug 30, 2001 at 06:19:53PM -0300, Mart?n Marqu?s wrote:
/etc/syslog.conf:
local0.debug /var/log/postgresql
It worked for me!
Thanks to everyone who replied. For the archives:
The tip above, and the eyes of a Solaris-guru co-worker, conspired to
find the problem for me. It turns out that Solaris allows "*" for
the _facility_, but not for the _priority_. On other words,
"local0.*" won't work, but "local0.debug" will. Moreover, the
lowest-priority messages that you want need to be the last specified;
it appears that this is cumulative, so you get everything of priority
debug or higher with the above entry.
A
--
----
Andrew Sullivan 87 Mowat Avenue
Liberty RMS Toronto, Ontario Canada
<andrew@libertyrms.com> M6K 3E3
+1 416 646 3304 x110