user
ist ein reserviertes Wort und es ist normalerweise keine gute Idee, reservierte Wörter für Bezeichner (Tabellen, Spalten) zu verwenden.
Wenn Sie darauf bestehen, müssen Sie den Tabellennamen in doppelte Anführungszeichen setzen:
create table "user" (...);
Aber dann immer müssen doppelte Anführungszeichen verwenden, wenn Sie auf die Tabelle verweisen. Außerdem wird dann beim Tabellennamen zwischen Groß- und Kleinschreibung unterschieden. "user"
ist ein anderer Tabellenname als "user"
.
Wenn Sie sich viel Ärger ersparen wollen, verwenden Sie einen anderen Namen. user
, user_account
, ...
Weitere Details zu Bezeichnern in Anführungszeichen finden Sie im Handbuch:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS