sql >> Base de Datos >  >> RDS >> PostgreSQL

Nombres de procesos de PostgreSQL en Solaris

Los procesos de PostgreSQL son muy pocos y contables, como el proceso de escritor, el proceso de escritor de wal, el recopilador de estadísticas, el proceso de autovacuum, el proceso de syslogger, el proceso de archivador y el postmaster del daemon. Si la replicación está habilitada, habrá un proceso de remitente y receptor de wal. En mis capacitaciones, suelo mostrar la información del proceso ejecutando “ps -ef | grep postgres”, pero ¿cómo podría mostrar lo mismo en Solaris? Entonces, verifiqué con la documentación de Solaris y encontré que es muy simple y fácil obtener los nombres de los procesos como Linux.

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 :).