PostgesSQL 10 auf RHEL7 - Datei-Struktur feingranular festlegen

Hi,

ich bin gerade bzw. immer noch (siehe mein erster Post hier im Forum postgresql-10-check-db-dir Datei fehlt) dabei eine PostgreSQL Installation für unser Unternehmen vorzubereiten, die sich so gut es geht an die Struktur anlehnt, die sich von anderen (derzeit am meisten verbreiteten) RDBMS hier so eingeschwungen hat. PostgreSQL ist sozusagen noch “Neuland”.

Im Groben soll wie folgt aufgeteilt werden:

  • Binaries
  • Logfiles
  • Daten- / Tablespace-Dateien
  • Konfigurationsdateien
  • WAL-Dateien
  • Archivierte WAL-Dateien
  • später natürlich auch Backups usw.
    (nicht alle Typen bekommen einen eigenen Mountpoint aber zumindest eine spezielle Ordnerstruktur)

RTFM dachte ich mir und natürlich lassen sich da diverse Dinge nach Belieben konfigurieren, an die ich mich schon herangearbeitet habe.
Binaries-Pfade lassen sich über die Installation aus den Sources festlegen https://www.postgresql.org/docs/10/static/install-procedure.html.
Danach ist ein Großteil hier https://www.postgresql.org/docs/current/static/runtime-config-file-locations.html nachzulesen oder auch hier https://www.postgresql.org/docs/10/static/config-setting.html oder hier https://www.postgresql.org/docs/10/static/storage-file-layout.html.

Die Pfade für einige Dateien, die für mich (vielleicht liege ich da auch falsch -> ich lasse mich gerne aufklären) in bestimmte Kategorien fallen, lassen sich allerdings nicht explizit bestimmen bzw. nicht ohne weiteres verändern.

Folgende sind mir bis jetzt aufgefallen (vielleicht fallen mir später noch mehr Dinge auf):

Hier und da könnte man noch mit Symlinks “herumzaubern”, aber so richtig rund ist das dann ja auch nicht.

Wenn da jemand einen Tipp für mich hat, immer raus damit.

Danke und Gruß

ich würde erst einmal prinzipiell es so installieren, wie es von den Packages her kommt. Das data-Directory kann man gern auf eine separate Partition legen und diese mit noatime mounten. Die Postgresql-Log kann man gerne außerhalb anlegen. Falls man das Geld hat, dann die WAL’s auf einer extra und zwar schnellen SSD und dahin ein Symlink aus dem normalen Data-Directory.

Archive und Backups gehören auf einen anderen Rechner / Laufwerk / Storage. Ihr solltet unseren Barman in Betracht ziehen für kontinuierliches Backup / PITR.

Bei RHEL7.x und CentOS7.x würde ich ganz vorsichtig sein, etwas anderes zu nutzen als die Distri festlegt, denn da ist SELinux aktiv
und wird Dir erstmal ordentlich Stress machen, beonders wenn SELinux auf enforced oder permissive eingestellt ist. Na klar kann man das auch
ändern abern dann kannst Du Dich mit secpol und dem ziemlich verbosen auditlog rumschlagen und musst die Datei und Socketzugriffe explizit
freigeben (zusätzlich zu den FS chmod/chown permissions).

Hmm, TE hat sich noch immer nicht gemeldet?