2010-02-19 5 views
22

Ich habe Schwierigkeiten bei der Änderung eines Postgres-Benutzers, der ein Bindestrich in seinem Namen enthält - Ich habe dieses Problem mehrmals durchlaufen, kann aber nie die Antwort finden (egal, wie viel ich googeln !).Postgresql - Escape-Dash in Benutzername

osm=# grant all on osm_polygon_view to www-data;

ERROR: syntax error at or near "-"

LINE 1: grant all on osm_polygon_view to www-data;

         ^

Ich habe gerade über jede Permutation von Escape-Zeichen und Zitaten versucht, und immer noch nicht diese nicht erhalten zu arbeiten. Ich bin auch darauf gestoßen, als ich versuchte, das Passwort für www-Daten zu ändern.

Antwort

34

Doppelzitate sollten Sie verwenden - keine einfachen Anführungszeichen.

grant all on osm_polygon_view to "www-data";

+2

Verwenden Sie doppelte Anführungszeichen, um 'delimited identifiers' zu erstellen - z. B. für Tabellennamen oder Spaltennamen und für Benutzernamen. –