Re: [HACKERS] Re: [PORTS] pgmonitor and Solaris

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mathijs Brands <mathijs@ilse.nl>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>, Larry Rosenman <ler@lerctr.org>, Peter Eisentraut <peter_e@gmx.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>, PostgreSQL-ports <pgsql-ports@postgresql.org>, PostgreSQL-Admin <pgsql-admin@postgresql.org>
Date: 2001-03-28T23:23:16Z
Lists: pgsql-hackers
> On Wed, Mar 28, 2001 at 05:33:05PM -0500, Bruce Momjian allegedly wrote:
>> Sure 'ps -U' will work, but it was reported that on Solaris, plain ps
>> can't show the postgres status display, while ucb/ps can.  I don't need
>> specific columns.  What I need is the postgres status parameters, and if
>> possible, a user restriction to ps for performance reasons.

Looking at the sendmail code, it seems they use SPT_REUSEARGV (what we
call PS_USE_CLOBBER_ARGV) technique on Solaris.  Possibly the problem is
simply that line 65 in src/backend/utils/misc/ps_status.c fails to
cover Solaris as one of the possible options:

#elif defined(__linux__) || defined(_AIX4) || defined(_AIX3) || defined(__sgi) || (defined(sun) && !defined(BSD)) || defined(ultrix) || defined(__ksr__) || defined(__osf__) || defined(__QNX__) || defined(__svr4__) || defined(__svr5__)
#define PS_USE_CLOBBER_ARGV

Can someone check whether adding an appropriate Solaris symbol (which
one?) fixes the problem?

The coding technique embodied in lines 63-67 pretty much sucks anyway,
since this platform-specific knowledge ought to be out in the port.h
files rather than hidden in the guts of the system.  I don't want to
touch it right now, but I think we ought to have things like

	#define PS_STATUS_TECHNIQUE PS_USE_CLOBBER_ARGV

in the port.h files, rather than these massive #ifdefs.

			regards, tom lane