Inhaltsverzeichnis

PostgreSQL

PostgreSQL ist eine der ältesten und fortgeschrittenen objektrelationalen Datenbankverwaltungssysteme (ORDBMS) und ist unter einer BSD-Lizenz freigegeben. Es ist SQL92/SQL99/SQL2003-Standard-konform.

Verwaltung

Installation

Ansible-rolle: https://github.com/geerlingguy/ansible-role-postgresql

Admin-tätigkeiten

Verbindung von der Shell:

PGPASSWORD=Geheim123 psql -U $admin -h $Hostname -p $Port -d $datenbank --set=sslmode=require

upgrade debian9 zu debian 10

Debian 9 hat Version 9.6.x, debian 10 hat Version 11.x.

Vorgehensweise bei disz-upgrade:

  1. leeren pg11 cluster entfernen:
    pg_dropcluster --stop 11 main
  2. pg_upgradecluster -v 11 9.6 main
  3. su postgres
  4. pg_ctlcluster 11 main start
  5. systemctl status postgresql
  6. 9.6-Pakete entfernen

backup

# oder su -l postgres sudo postgres pg_dump DB > DB.sql

CURRENT_DATE=$(date +%Y%m%d_%H%M)
export PGPASSWORD="GEHEIM"
pg_dumpall -h localhost -U postgres > $CURRENT_DATE.sql

Fehlerbehebung

Konfguration interaktiv prüfen

sudo -u postgres /usr/lib/postgresql/15/bin/postgres –config-file=/etc/postgresql/15/main/postgresql.conf -D /var/lib/postgresql/15/main; echo $?

SSL Cert nicht lesbar

FATAL:  could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied

Debian12 postgres ist sollte bereits Mitglied der Gruppe „ssl-cert“ sein:

usermod -aG ssl-cert postgres

Problem: /etc/ssl/private ist chmod 700 mit root.root:

chgrp ssl-cert /etc/ssl/private
chmod g+rx /etc/ssl/private