summaryrefslogtreecommitdiffstats
path: root/abs/extra/postgresql/postgresql.service
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/postgresql/postgresql.service')
-rw-r--r--abs/extra/postgresql/postgresql.service34
1 files changed, 34 insertions, 0 deletions
diff --git a/abs/extra/postgresql/postgresql.service b/abs/extra/postgresql/postgresql.service
new file mode 100644
index 0000000..37fcae9
--- /dev/null
+++ b/abs/extra/postgresql/postgresql.service
@@ -0,0 +1,34 @@
+[Unit]
+Description=PostgreSQL database server
+After=network.target
+
+[Service]
+Type=forking
+TimeoutSec=120
+User=postgres
+Group=postgres
+
+Environment=PGROOT=/var/lib/postgres
+
+SyslogIdentifier=postgres
+PIDFile=/var/lib/postgres/data/postmaster.pid
+RuntimeDirectory=postgresql
+RuntimeDirectoryMode=755
+
+ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data
+ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120
+ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload
+ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast
+
+# Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in
+# killing Postgres, so adjust it downward
+OOMScoreAdjust=-200
+
+# Additional security-related features
+PrivateTmp=true
+ProtectHome=true
+ProtectSystem=full
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target