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