GNU/Linux >> Tutoriales Linux >  >> Linux

Script de inicio de systemd postgresql

Al instalar desde la fuente, deberá agregar un archivo de unidad systemd que funcione con la instalación de la fuente. Para RHEL, el archivo de mi unidad de Fedora se ve así:

/usr/lib/systemd/system/postgresql.servicio

[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking

User=postgres
Group=postgres

# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog

# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
# ... but allow it still to be effective for child processes
# (note that these settings are ignored by Postgres releases before 9.5)
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
Environment=PG_OOM_ADJUST_VALUE=0

# Maximum number of seconds pg_ctl will wait for postgres to start.  Note that
# PGSTARTTIMEOUT should be less than TimeoutSec value.
Environment=PGSTARTTIMEOUT=270

Environment=PGDATA=/usr/local/pgsql/data


ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s -w -t ${PGSTARTTIMEOUT}
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} -s

# Give a reasonable amount of time for the server to start up/shut down.
# Ideally, the timeout for starting PostgreSQL server should be handled more
# nicely by pg_ctl in ExecStart, so keep its timeout smaller than this value.
TimeoutSec=300

[Install]
WantedBy=multi-user.target

Luego habilite el servicio al inicio e inicie el servicio PostgreSQL:

$ sudo systemctl daemon-reload # load the updated service file from disk
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql

# systemctl start postgresql.service

Algunos entornos traducirían service <name> start a systemctl start <name>.service , pero no tienes que confiar en él.


Linux
  1. Inicie automáticamente el servicio OpenCA a través de Systemd en CentOS 7

  2. ¿Cómo escribir un script de inicio para Systemd?

  3. Centos:¿Systemd elimina el servicio inmediatamente después del inicio?

  4. Linux:¿cómo iniciar Systemd sin Default.target?

  5. Linux:¿ejecutar script cada 30 minutos con Systemd?

Comience a usar systemd como una herramienta de solución de problemas

Cómo ejecutar un script al arrancar en Debian 11

Cómo configurar la ejecución automática de un script de Python usando Systemd

Cómo ejecutar Shell Script como servicio SystemD en Linux

No se puede iniciar el servicio postgresql en CentOS 7

¿Manera simple de reiniciar procesos bloqueados?