PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Nomi dei processi PostgreSQL su Solaris

I processi PostgreSQL sono pochissimi e numerabili come il processo di scrittura, il processo di scrittura di wal, il raccoglitore di statistiche, il processo di autovacuum, il processo di syslogger, il processo di archiviazione e il daemon postmaster. Se la replica è abilitata, ci sarà il processo wal sender e wal receiver. Nei miei corsi di formazione, utilizzo per mostrare le informazioni sul processo eseguendo “ps -ef | grep postgres", ma come potrei mostrare lo stesso su Solaris. Quindi, ho controllato con la documentazione di Solaris e ho scoperto che è molto semplice e facile ottenere i nomi dei processi come Linux.

Nella documentazione di PostgreSQL, si dice che usi /usr/ucb/ps con le opzioni -ww per ottenere i nomi dei processi invece del normale /usr/bin/ps, tuttavia la maggior parte delle informazioni sono nascoste anche dall'opzione /usr/ucb/ps. Vediamo come recuperare i nomi dei processi postgres completi in solaris.

Di seguito sono riportati i miei processi di istanza postgres 9.1 su 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

Modo più esteso con i parg:

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 è il processo del demone 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

Anche se sembra semplice, credo che valga la pena di saperlo :).