GNU/Linux >> Linux Esercitazione >  >> Linux

Script di avvio postgresql di systemd

Quando si esegue l'installazione dal sorgente, sarà necessario aggiungere un file unit systemd che funzioni con l'installazione di origine. Per RHEL, Fedora il mio file di unità è simile a:

/usr/lib/systemd/system/postgresql.service

[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

Quindi abilita il servizio all'avvio e avvia il servizio PostgreSQL:

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

# systemctl start postgresql.service

Alcuni ambienti tradurrebbero service <name> start a systemctl start <name>.service , ma non devi fare affidamento su di esso.


Linux
  1. Avvia automaticamente il servizio OpenCA tramite Systemd in CentOS 7

  2. Come scrivere uno script di avvio per Systemd?

  3. Centos - Systemd uccide il servizio immediatamente dopo l'avvio?

  4. Linux:come avviare Systemd senza Default.target?

  5. Linux – Posizione dello script Fsck?

Inizia a utilizzare systemd come strumento di risoluzione dei problemi

Come eseguire uno script all'avvio in Debian 11

Come configurare l'esecuzione automatica di uno script Python utilizzando Systemd

Come eseguire lo script della shell come servizio SystemD in Linux

Impossibile avviare il servizio postgresql su CentOS 7

Impossibile avviare lo script Node.js con systemctl