¿Qué comando reiniciar el servicio postgresql 12?

¿Qué comando reiniciar el servicio postgresql 12?

Estoy a punto de reiniciar el servicio postgresql 12 ejecutándose en Ubuntu 18. Primero, verifico su estado sudo service postgresql status:. Su dice:

postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor pres
   Active: inactive (dead)
lines 1-3/3 (END)...skipping...
postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Aunque parece estar inactivo, todavía puedo conectarme.

Luego ejecuto otra comprobación: systemctl status postgresql@12-main. dice :

root@db-services:/# systemctl status postgresql@12-main[email protected] - PostgreSQL Cluster 12-main
   Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/[email protected]
           └─override.conf
   Active: active (running) since Mon 2022-06-13 09:02:25 WIB; 5 months 27 days ago
 Main PID: 5807 (postgres)
    Tasks: 86 (limit: 4915)
   CGroup: /system.slice/system-postgresql.slice/[email protected]
           ├─ 1586 postgres: 12/main: postgres db_sync 10.100.3.248(61414) idle
           ├─ 1588 postgres: 12/main: postgres db_sync 10.100.3.248(61415) idle
           ├─ 1606 postgres: 12/main: docreg db_docreg 10.100.8.150(18385) idle
           ├─ 1607 postgres: 12/main: docreg db_docreg 10.100.8.150(18399) idle
           ├─ 1608 postgres: 12/main: docreg db_docreg 10.100.8.150(18401) idle
           ├─ 1609 postgres: 12/main: docreg db_docreg 10.100.8.150(18421) idle
           ├─ 2592 postgres: 12/main: docudigtl db_docudigtl 10.100.8.112(34956) idle
           ├─ 3518 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(48290) idle
           ├─ 5150 postgres: 12/main: docudigtl db_docudigtl 10.100.7.114(61504) idle
           ├─ 5807 /usr/lib/postgresql/12/bin/postgres -D /data/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.co
           ├─ 5883 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(48626) idle
           ├─ 6316 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(48704) idle
           ├─ 7049 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(48870) idle
           ├─ 7986 postgres: 12/main: docudigtl db_docudigtl 10.100.7.114(56240) idle
           ├─ 8146 postgres: 12/main: docudigtl db_docudigtl 10.100.8.114(47432) idle
           ├─ 8183 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(49022) idle
           ├─ 8360 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(49036) idle
           ├─ 8445 postgres: 12/main: docudigtl db_docudigtl 10.100.8.114(47478) idle
           ├─ 9590 postgres: 12/main: docudigtl db_docudigtl 10.100.8.106(56094) idle
           ├─ 9687 postgres: 12/main: docudigtl db_docudigtl 10.100.8.112(50980) idle
           ├─10148 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(40646) idle
           ├─10324 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(40680) idle
           ├─11079 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(49496) idle
           ├─11602 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(58152) idle
           ├─11886 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(44674) idle
           ├─12106 postgres: 12/main: docudigtl db_docudigtl 127.0.0.1(49618) idle
           ├─13112 postgres: 12/main: docudigtl db_docudigtl 10.100.6.145(55014) idle
           ├─13122 postgres: 12/main: docudigtl db_docudigtl 10.100.6.145(55015) idle
           ├─13145 postgres: 12/main: docudigtl db_mysapk 10.100.6.145(55016) idle
           ├─13202 postgres: 12/main: docudigtl db_docudigtl 10.100.7.114(62073) idle
           ├─13945 postgres: 12/main: checkpointer
           ├─13946 postgres: 12/main: background writer
           ├─13947 postgres: 12/main: walwriter
           ├─13948 postgres: 12/main: autovacuum launcher
           ├─13949 postgres: 12/main: stats collector
           ├─13950 postgres: 12/main: logical replication launcher

¡Entonces está realmente activo!

  1. ¿Cuál es la diferencia entre los 2 comandos?
  2. ¿Cuál debo usar para reiniciar: systemctl restart postgresql@12-mainO sudo service postgresql restart?

Respuesta1

Hay servicios especiales del sistema llamadosservicios de plantilla.

Un servicio de plantilla puede tomar un argumento como este: template_service@argument.

Un servicio de plantilla nunca se inicia por sí solo, pero se puede crear una instancia de él con un argumento determinado. Esto significa que el mismo servicio (plantilla) puede estar ejecutándose en varias instancias, cada una identificada por su argumento. Por ejemplo:

systemctl inicio template_service@a
systemctl inicio template_service@b
systemctl inicio template_service@c

En Debian y algunas distribuciones derivadas (como Ubuntu):

Cada instancia (clúster) de PostgreSQL pertenece a un postgresql@servicio de plantilla instanciado. El argumento del postgresql@servicio toma la forma de version-clustername.

Entonces, por ejemplo, postgresql@12-maines un servicio systemd que representa una instancia (clúster) de servidor PostgreSQL 12, con el nombre del clúster main(que es el predeterminado).

Hay otro servicio systemd llamado simplemente postgresql. Se trata de una especie de servicio que lo abarca todo. Si lo inicia o lo detiene, todas las instancias de PostgreSQL se iniciarán o detendrán (este comportamiento se puede deshabilitar enstart.conf).

Sin embargo, no puede utilizar systemctl status postgresqlpara comprobar si se está ejecutando algún servicio PostgreSQL, incluso si solo tiene un único servidor PostgreSQL configurado en su sistema. Siempre debe verificar el estado del servicio instanciado en particular para obtener un informe de estado significativo.

ElserviceEl comando se usó para el antiguo sistema de inicio (SysV init), antes de que apareciera systemd. Todavía funciona para la compatibilidad con versiones anteriores, pero realmente deberías usar el systemctlcomando en sistemas donde systemd está disponible.

información relacionada