Thread: --enable-syslog and Solaris 7

--enable-syslog and Solaris 7

From
Andrew Sullivan
Date:
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


Re: --enable-syslog and Solaris 7

From
Larry Rosenman
Date:
* 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'
> #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.
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?
>
> http://www.postgresql.org/search.mpl
>

--
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

Re: --enable-syslog and Solaris 7

From
Andrew Sullivan
Date:
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


Re: --enable-syslog and Solaris 7

From
Larry Rosenman
Date:
* 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

Re: --enable-syslog and Solaris 7

From
Martín Marqués
Date:
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'
> #endif
>
> 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).

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
-----------------------------------------------------------------

Re: --enable-syslog and Solaris 7

From
Andrew Sullivan
Date:
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


Re: --enable-syslog and Solaris 7

From
Martín Marqués
Date:
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
-----------------------------------------------------------------

Re: --enable-syslog and Solaris 7

From
Andrew Sullivan
Date:
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