Auf dem teachtum40 Server ist für Odoo Postgres standard über die Ubuntu Paketquellen installiert:

sudo apt install postgresql -y

Die primäre Konfiguration zu Postgres findet sich in

  • /etc/postgresql/12/main/postgresql.conf: Grundsätzliche Server Konfiguration
  • /etc/postgresql/12/main/pg_hba.conf: Anmeldemethoden je nach Quelle (lokal/remote) und User / DB

Lokaler Zugriff

Für die Anmeldemethode peer (Peer Authentication):

# Grundlegendes Kommando
#sudo -u USER psql DB
sudo -u postgres psql postgres
sudo -u odoo psql odoo_test

Für die Anmeldemethode md5 (Password Authentication):

# Grundlegendes Kommando
#psql -U USER [-d DB]
psql -U postgres
psql -U odoo -d odoo_test

Falls man für den User postgres Password Auth eingerichtet hat, kann man trotzdem das obige Kommando mit Peer Auth verwenden, wenn man eine .pgpass Datei erstellt. Dann muss man das Passwort nicht immer eintippen.

# Als root, also nach
#sudo su
echo "localhost:*:*:postgres:PASSWORD" > ~postgres/.pgpass
chown postgres:postgres ~postgres/.pgpass
chmod 0600 ~postgres/.pgpass

Remote Zugriff

Mit SSH Port Tunneling

ssh -L 5432:localhost:5432 user@tuedfed-tat40web.srv.mwn.de

Beekeeper Studio

Nach dem öffnen von Beekeeper Studio (Downloads für die Community Version) kann man dann direkt zugreifen im Falle von Password Auth:

image

pgAdmin

Für einen Benutzer/Passwort-Login via pgAdmin kann man einen dedizierten Benutzer anlegen, z. B. erst lokal mit

sudo -u postgres psql postgres
anmelden und Nutzer mit Passwort anlegen
CREATE USER pgAdmin WITH PASSWORD '1234' SUPERUSER

Oder aber als bestehender Benutzer via Kommandozeile einloggen und ein (postgres-spezifisches) Passwort festlegen. Gehört zum Beispiel der System-Benutzer joachim zu den postgres-Superusern, braucht aber noch ein Passwort damit pgAdmin sich so ausweisen kann, dann

sudo -u joachim psql postgres
postgres-# \password joachim
und Passwort festlegen. (Man kann auch bloß '\password' aufrufen, das ändert das Passwort für den aktuell via 'psql' eingeloggten Benutzer.) Übrigens kann man mit '\dg' in der postgres-Shell die vorhandenen Benutzer auflisten lassen, falls da Unklarheiten bestehen.

Für lokalen Zugriff dann mit diesem Benutzer/Passwort-Paar in pgAdmin anmelden.

Für Remote-Zugriff dann SSH Port Tunneling wie oben und schließlich in pgAdmin mit diesem Benutzer an localhost angemeldet (Port Tunneling besorgt die remote Verbindung).