V dokumentaci PostgreSQL se říká, že se používá /usr/ucb/ps s volbami -ww pro získání názvů procesů místo běžných /usr/bin/ps, nicméně většina informací je skryta také volbou /usr/ucb/ps. Podívejme se, jak získat kompletní názvy postgresových procesů v Solaris.
Níže jsou mé procesy instance postgres 9.1 na 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
Rozšířenější způsob s 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 je proces démona 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
I když to vypadá jednoduše, věřím, že to stojí za to vědět :).