GNU/Linux >> Tutoriels Linux >  >> Linux

Script de démarrage systemd postgresql

Lors de l'installation à partir de la source, vous devrez ajouter un fichier d'unité systemd qui fonctionne avec l'installation de la source. Pour RHEL, Fedora mon fichier d'unité ressemble à :

/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

Activez ensuite le service au démarrage et démarrez le service PostgreSQL :

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

# systemctl start postgresql.service

Certains environnements traduiraient service <name> start à systemctl start <name>.service , mais vous n'êtes pas obligé de vous y fier.


Linux
  1. Linux - Exécuter le script toutes les 30 minutes avec Systemd ?

  2. Linux - Emplacement du script Fsck ?

  3. Le service Systemd ne démarre pas Nodejs ?

  4. Comment ajouter un script personnalisé à systemd dans CentOS/RHEL 7

  5. L'exécution du script Python via systemd ne parvient pas à charger le module

Comment exécuter un script au démarrage dans Debian 11

Comment configurer l'exécution automatique d'un script Python à l'aide de Systemd

Comment exécuter un script Shell en tant que service SystemD sous Linux

Impossible de démarrer le service postgresql sur CentOS 7

Systemd :Utiliser à la fois After et Requires

Un moyen simple de redémarrer les processus en panne ?