user
jest słowem zastrzeżonym i zwykle nie jest dobrym pomysłem używanie słów zastrzeżonych jako identyfikatorów (tabel, kolumn).
Jeśli nalegasz na zrobienie tego, musisz umieścić nazwę tabeli w podwójnych cudzysłowach:
create table "user" (...);
Ale wtedy zawsze musisz używać podwójnych cudzysłowów podczas odwoływania się do tabeli. Dodatkowo w nazwie tabeli rozróżniana jest wielkość liter. "user"
to inna nazwa tabeli niż "User"
.
Jeśli chcesz zaoszczędzić sobie wielu kłopotów, użyj innej nazwy. users
,, user_account
...
Więcej szczegółów na temat cytowanych identyfikatorów można znaleźć w podręczniku: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS