user
является зарезервированным словом, и обычно не рекомендуется использовать зарезервированные слова для идентификаторов (таблиц, столбцов).
Если вы настаиваете на этом, вы должны заключить имя таблицы в двойные кавычки:
create table "user" (...);
Но тогда вам всегда нужно использовать двойные кавычки при обращении к таблице. Кроме того, имя таблицы чувствительно к регистру. "user"
это другое имя таблицы, чем "User"
.
Если вы хотите избавить себя от множества проблем, используйте другое имя. users
, user_account
...
Более подробную информацию о цитируемых идентификаторах можно найти в руководстве: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS