En la documentación de PostgreSQL, se dice que usa /usr/ucb/ps con las opciones -ww para obtener nombres de procesos en lugar de /usr/bin/ps normal, sin embargo, la mayoría de la información también está oculta por la opción /usr/ucb/ps. Veamos cómo recuperar nombres completos de procesos de Postgres en Solaris.
A continuación se encuentran mis procesos de instancia de Postgres 9.1 en Solaris:
bash-3.00$ /usr/ucb/ps -awwx | grep postgres
7778 ? S 0:04 /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
7779 ? S 0:01 /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
7780 ? S 0:00 /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
7781 ? S 0:00 /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
7776 pts/5 S 0:00 /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
Manera más extendida con pargs:
bash-3.00$ pargs `/usr/ucb/ps -awwx | grep postgres | awk '{print $1}'`
7778: /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
argv[0]: postgres: writer process
argv[1]:
argv[2]:
7779: /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
argv[0]: postgres: wal writer process
argv[1]:
argv[2]:
7780: /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
argv[0]: postgres: autovacuum launcher process
argv[1]:
argv[2]:
7781: /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
argv[0]: postgres: stats collector process
argv[1]:
argv[2]:
7776: /Desktop/postgres/9.1-pgdg/bin/64/postgres -D /Desktop/postgres/9.1-pgdg/data
argv[0]: /Desktop/postgres/9.1-pgdg/bin/64/postgres
argv[1]: -D
argv[2]: /Desktop/postgres/9.1-pgdg/data
7776 es el proceso del demonio postmaster.
bash-3.00$ cat /Desktop/postgres/9.1-pgdg/data/postmaster.pid
7776
/Desktop/postgres/9.1-pgdg/data
1339917119
5432
/tmp
localhost
5432001 50331683
Aunque parece simple, creo que vale la pena saberlo :).