Während die aktuelle Verbindung zu db1 hergestellt wird, möchte ich die Berechtigungen auf db2 ändern. Wie:Wie spezifiziert man den Datenbanknamen im GRANT-Befehl?
Aber dies führt zu einem Fehler, und PostgreSQL erkennt die Datenbank Qualifier in der Aussage nicht! Gibt es eine Möglichkeit, dies zu tun, ohne die Verbindung zu db1 zu trennen und die Verbindung zu db2 wiederherzustellen?
BTW, ich beginne diese Befehle von einer Programmiersprache und nicht die psql
.
[UPDATE]
Wie ich in den Kommentaren gesagt wurde, scheint es, dass diese Funktion absichtlich blockiert wird (aufgrund Implementierung Herausforderungen oder Sicherheitsgründen - ich bin mir nicht sicher).
In jedem Fall sehe ich keinen guten Grund dafür und das ist meine persönliche Meinung. Wenn es schwer zu implementieren ist, dann ist es ein Designfehler. Und ich denke, das Sicherheitsargument kann leicht zerkratzt werden, da das Hinzufügen von Schritten zum Prozess für einen Benutzer, der bereits authentifiziert und autorisiert wurde, nicht als bessere Sicherheit gilt.
Wieder, nur meine Meinung.
In jedem Fall bin ich wirklich dankbar für die ganze Zeit und Mühe in PostgreSQL-Projekt gesteckt. Danke Leute.
Sie können keine Berechtigungen für eine andere Datenbank erteilen. Sie müssen sich zuerst mit dieser Datenbank verbinden. –
@a_horse_with_no_name Ist das nicht absurd !? – Mehran
Warum sollte das absurd sein? So funktioniert Postgres. –