PostgreSQL /etc/systemd/postgresql@.service

Original 📋 Ubuntu 20.04 LTS (Focal Fossa) 40 Zeilen

Läuft auf

Ansicht:
Ubuntu 20.04 LTS (Focal Fossa)
Gleich auf:
Debian 10 (Buster) Debian 11 (Bullseye) Debian 12 (Bookworm) Debian 13 (Trixie) Ubuntu 22.04 LTS (Jammy Jellyfish) Ubuntu 24.04 LTS (Noble Numbat)
Andere Versionen:

Details

Größe
40 Zeilen
MD5
5b25f284506ad288820d584bea86fb23
SHA256
4c44931bba34e0754b7c0762852a5c1b615a1e307df9c458d231232d55e4c907
/etc/systemd/postgresql@.service
# systemd service template for PostgreSQL clusters. The actual instances will
# be called "postgresql@version-cluster", e.g. "postgresql@9.3-main". The
# variable %i expands to "version-cluster", %I expands to "version/cluster".
# (%I breaks for cluster names containing dashes.)

[Unit]
Description=PostgreSQL Cluster %i
AssertPathExists=/etc/postgresql/%I/postgresql.conf
RequiresMountsFor=/etc/postgresql/%I /var/lib/postgresql/%I
PartOf=postgresql.service
ReloadPropagatedFrom=postgresql.service
Before=postgresql.service
# stop server before networking goes down on shutdown
After=network.target

[Service]
Type=forking
# -: ignore startup failure (recovery might take arbitrarily long)
# the actual pg_ctl timeout is configured in pg_ctl.conf
ExecStart=-/usr/bin/pg_ctlcluster --skip-systemctl-redirect %i start
# 0 is the same as infinity, but "infinity" needs systemd 229
TimeoutStartSec=0
ExecStop=/usr/bin/pg_ctlcluster --skip-systemctl-redirect -m fast %i stop
TimeoutStopSec=1h
ExecReload=/usr/bin/pg_ctlcluster --skip-systemctl-redirect %i reload
PIDFile=/run/postgresql/%i.pid
SyslogIdentifier=postgresql@%i
# prevent OOM killer from choosing the postmaster (individual backends will
# reset the score to 0)
OOMScoreAdjust=-900
# restarting automatically will prevent "pg_ctlcluster ... stop" from working,
# so we disable it here. Also, the postmaster will restart by itself on most
# problems anyway, so it is questionable if one wants to enable external
# automatic restarts.
#Restart=on-failure
# (This should make pg_ctlcluster stop work, but doesn't:)
#RestartPreventExitStatus=SIGINT SIGTERM

[Install]
WantedBy=multi-user.target

Kopieren & Einfügen

curl:
curl https://exampleconfig.com/api/v1/config/original/5b25f284506ad288820d584bea86fb23?hint=postgresql@.service
wget:
wget -O postgresql@.service https://exampleconfig.com/api/v1/config/original/5b25f284506ad288820d584bea86fb23?hint=postgresql@.service

Für KI-Agenten

<prompt><role>DevOps agent</role><source url='https://exampleconfig.com/api/v1/config/original/5b25f284506ad288820d584bea86fb23?hint=postgresql@.service' /><config><app>PostgreSQL</app><os>Ubuntu 20.04 LTS (Focal Fossa)</os><location>/etc/systemd/postgresql@.service</location><lines>40</lines><md5>5b25f284506ad288820d584bea86fb23</md5><sha256>4c44931bba34e0754b7c0762852a5c1b615a1e307df9c458d231232d55e4c907</sha256></config></prompt>

Füge es in Claude, ChatGPT oder einen anderen KI-Assistenten ein.

PostgreSQL installieren

Alpine Linux

sudo apk add postgresql

Debian

sudo apt update && sudo apt install postgresql

Red Hat Enterprise Linux

sudo yum install postgresql17-server

Ubuntu

sudo apt update && sudo apt install postgresql

Ablageort

Pfad
/etc/systemd/postgresql@.service
Verzeichnis
/etc/systemd/
Bedeutung
Systemweites Konfig-Verzeichnis
Beschreibung
In /etc/ liegen systemweite Einstellungen, die alle Benutzer betreffen.

FAQ

Wann sollte ich postgresql@.service verwenden?

Nutze sie, um eine fehlende Default-Datei wiederherzustellen, zu prüfen, was ausgeliefert wurde, oder sie gegen deine aktuelle PostgreSQL-Config zu diffen.

Wie stelle ich die Defaults von PostgreSQL wieder her?

Lad die Datei runter, sichere die aktuelle in /etc/systemd/postgresql@.service, ersetze sie und lade PostgreSQL neu oder starte es neu.

Ist postgresql@.service für den produktiven Einsatz geeignet?

Das ist der Hersteller-Default für Ubuntu 20.04 LTS (Focal Fossa). Nimm sie als Basis und prüf Security- und Performance-Einstellungen, bevor du sie produktiv nutzt.

Wie unterscheidet sich das von anderen OS-Versionen?

Defaults variieren je nach Distro und Version. Diese Version passt zu Ubuntu 20.04 LTS (Focal Fossa).

Kann ich das fürs Troubleshooting von PostgreSQL nutzen?

Ja. Diff es gegen deine Version, finde Abweichungen und stell nur die Teile wieder her, die du brauchst.