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:
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).