summaryrefslogtreecommitdiffstats
path: root/postgresql.service.in
blob: 897f732b6b09efd80ffbe47bf59fad3bf154dc85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades.  It is recommended to use systemd
# "dropin" feature;  i.e. create file with suffix .conf under
# @systemduserunitsdir@/UNITNAME.service.d directory overriding the
# unit's defaults.  Look at systemd.unit(5) manual page for more info.

[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

@PGDATA_ENVIRONMENT@

ExecStartPre=@libexecdir@/postgresql-check-db-dir %N

# Use convenient postgresql-ctl wrapper instead of directly pg_ctl.  See the
# postgresql-ctl file itself for more info.

ExecStart=@libexecdir@/postgresql-ctl start -D ${PGDATA} -s -w -t 300
ExecStop=@libexecdir@/postgresql-ctl stop -D ${PGDATA} -s -m fast
ExecReload=@libexecdir@/postgresql-ctl reload -D ${PGDATA} -s

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target