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