Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
postgres [2018/02/07 18:52] root |
postgres [2023/12/27 12:34] (aktuell) root [Troubleshooting] |
||
---|---|---|---|
Zeile 37: | Zeile 37: | ||
* psql -U < | * psql -U < | ||
* postgres entspricht per Default dem Benutzer " | * postgres entspricht per Default dem Benutzer " | ||
+ | |||
+ | |||
+ | ===== Benutzer anlegen ===== | ||
+ | |||
+ | * in aktuellen Versionen 9.x aufwärts gibt es keinen Unterschied zwischen Benuztern und Gruppen | ||
+ | * beides wird als Rollen bezeichnet | ||
+ | * Gruppen sind Rollen die Benutzern zugewiesen wurden | ||
+ | * Benuzter sind Rollen | ||
+ | |||
+ | * Benutzer können über createuser auf der normalen Shell angelegt werden (ist ein Program) | ||
+ | * oder über die Datenbankshell | ||
+ | |||
+ | ==== Per Datenbankshell ==== | ||
+ | |||
+ | * Syntax: create role < | ||
+ | * Beispiel: create role test with nosuperuser nocreatedb nocreaterole password ' | ||
+ | |||
+ | |||
+ | Je nach Konfiguration werden dem Benutzer bestimmte Optionen automatisch eingeräumt und müssen ihm ggf. explizit beim Anlegen genommen werden -> das sind die Optionen die " | ||
====== Unteschiede in den Kommandos zu MySQL/ | ====== Unteschiede in den Kommandos zu MySQL/ | ||
Zeile 81: | Zeile 100: | ||
Syntax: pg_restore -d < | Syntax: pg_restore -d < | ||
+ | |||
+ | |||
+ | ====== pg_dumpall ====== | ||
+ | |||
+ | * Dumped alle Datenbanken des Clusters (des Datebankservers), | ||
+ | * **Hinweis: | ||
+ | * dort sind aber u.a. die Algorithmen für die Passwörter definiert | ||
+ | |||
+ | |||
+ | <sxh bash> | ||
+ | pg_dumpall > somefile.sql | ||
+ | </ | ||
+ | |||
+ | Restore: | ||
+ | <sxh bash> | ||
+ | psql -f somefile.sql postgres | ||
+ | </ | ||
+ | |||
+ | Welche Datenbank (welche da angegeben wird) (in diesem Fall postgres) angegeben wird (hier postgres) ist an sich egal, der Befehl erwartet nur eine Angabe. | ||
+ | |||
+ | |||
====== Generelle Hinweise ====== | ====== Generelle Hinweise ====== | ||
* Kommt auf einen Befehl keine Bestätigung ist etwas schief gelaufen | * Kommt auf einen Befehl keine Bestätigung ist etwas schief gelaufen | ||
* (alle?) Befehle geben eine Rückgabe | * (alle?) Befehle geben eine Rückgabe | ||
+ | |||
+ | |||
+ | ====== Troubleshooting ====== | ||
+ | |||
+ | |||
+ | ^Problem ^Lösung ^ | ||
+ | |Nach pg_dumpall und wiederherstellung auf einem anderen System funktioniert der Login nicht|Die Authentifizierungsmechanisnmen (und die verwendeten Verschlüsselungen für die Passwörter) sind in pg_hba.conf hinterlegt. \\ Wird diese nicht mitkopiert (was pg_dumpall nicht tut). \\ Datei muss mitkopiert werden oder die Authentifizierungsemchanismen im Nachgang angepasst werden. **Zu beachten:** Ein Mechanismus kann nur eine Verschlüsselungsmethode haben und wenn die Verschlüsselungsmethode mit der übereinstimmt mit der die Passwörter in der Datenbank verschlüsselt sind schlägt das anmelden fehl -> man kann also die Passwörter in der " | ||
+ | |Gleiche Authentifizierungsmethode mit verschiedenen Verschlüsselungsalgorithmen in pg_hba.conf|< | ||
+ | < | ||
+ | host all | ||
+ | host all | ||
+ | </ | ||
+ | In obigem Beispiel soll Host-Authentifizierung mit scram-sha-256 verschlüsselten und md5-Passwörtern erlaubt werden. \\ | ||
+ | Das geht nicht, pro Authentifizierungsmethode kann es nur einen Passwortverschlüsselungsalgorithmus geben, ggf. müssen also die Passwörter in der Datenbank erneut mit einer der beiden Methoden verschlüsselt werden</ | ||
+ |