PostgreSQL /etc/systemd/postgresql@.service

Original 📋 Debian 9 (Stretch) 33 Zeilen

Details

Größe
33 Zeilen
MD5
c60e225d986978418a05bc6064fa0c3f
SHA256
5d3626d9805765d6db63fba1ef7314a294f1b4085f5a2814ada58ea3fcf9cfa8
/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
ConditionPathExists=/etc/postgresql/%I/postgresql.conf
PartOf=postgresql.service
ReloadPropagatedFrom=postgresql.service
Before=postgresql.service

[Service]
Type=forking
# @: use "postgresql@%i" as process name
ExecStart=@/usr/bin/pg_ctlcluster postgresql@%i --skip-systemctl-redirect %i start
ExecStop=/usr/bin/pg_ctlcluster --skip-systemctl-redirect -m fast %i stop
ExecReload=/usr/bin/pg_ctlcluster --skip-systemctl-redirect %i reload
PIDFile=/var/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/c60e225d986978418a05bc6064fa0c3f?hint=postgresql@.service
wget:
wget -O postgresql@.service https://exampleconfig.com/api/v1/config/original/c60e225d986978418a05bc6064fa0c3f?hint=postgresql@.service

Für KI-Agenten

<prompt><role>DevOps agent</role><source url='https://exampleconfig.com/api/v1/config/original/c60e225d986978418a05bc6064fa0c3f?hint=postgresql@.service' /><config><app>PostgreSQL</app><os>Debian 9 (Stretch)</os><location>/etc/systemd/postgresql@.service</location><lines>33</lines><md5>c60e225d986978418a05bc6064fa0c3f</md5><sha256>5d3626d9805765d6db63fba1ef7314a294f1b4085f5a2814ada58ea3fcf9cfa8</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 Debian 9 (Stretch). 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 Debian 9 (Stretch).

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.