Ich befinde mich mitten in einer Datenbankservermigration und kann nicht herausfinden (nachdem ich hier gegoogelt und gesucht habe), wie ich die Datenbankberechtigungen (oder alle Berechtigungen auf dem Server) unter PostgreSQL mithilfe des psql
Befehlszeilentools auflisten kann.
Ich bin auf Ubuntu 11.04 und meine PostgreSQL-Version ist 8.2.x.
postgresql
ubuntu
permissions
psql
pedrosanta
quelle
quelle
\z myTable
ist perfekt, um sicherzustellen, dass Sie erfolgreich Zugriff auf jemanden gewährt haben und zu vermeiden, wie ein IdiotVielleicht meinst du das Auflisten von Benutzern und deren Berechtigungen für eine Datenbank - ich kann es anhand der Frage nicht ganz sagen:
quelle
Sie können dies folgendermaßen tun:
Dies gibt Ihnen diese Art von Ausgabe:
quelle
Verwenden von
psql
Metabefehlen:https://www.postgresql.org/docs/current/static/app-psql.html
Wenn Sie mit Strg + F über die Seite gehen, erhalten Sie:
Auch oben erwähnt, aber nicht mit dem Wort "Privilegien" auf der Handbuchseite gefunden:
\du+
Für Rollen mit Login und\dg+
für Rollen ohne - wird ein Feld angezeigt,"Member of"
in dem Sie Rollen finden, die Rollen zugewiesen wurden.Ich überspringe hier absichtlich Funktionen und Sprachrechte, die im
psql
Handbuch als kaum manipuliert befunden werden (und wenn Sie diese Rechte verwenden, werden Sie nicht hierher kommen, um Ratschläge zu erhalten). Gleiches gilt für benutzerdefinierte Typen, Domänen usw. - Wenn Sie "+" nach dem Meta-Befehl verwenden, werden Ihnen ggf. Berechtigungen angezeigt.Ein etwas extremer Weg, um die Privilegien zu überprüfen, ist das Löschen des Benutzers in einer Transaktion, zB:
Wenn die Liste länger als N ist (mindestens in 9.3), wird die Warnung mit der Liste der Berechtigungen ausgeblendet, Sie finden sie jedoch weiterhin in den Protokollen ...
quelle
Undercovers psql verwendet die folgende Abfrage, wenn Sie einen
\du
Befehl absetzen .quelle
Ein (möglicherweise offensichtlicher) zusätzlicher Schritt besteht darin, dass der Benutzer postgres wird. Andernfalls erhalten Sie möglicherweise Fehler zu Rollen, die nicht vorhanden sind.
oder
quelle
Ausgabe
quelle