user
is een gereserveerd woord en het is meestal geen goed idee om gereserveerde woorden te gebruiken voor identifiers (tabellen, kolommen).
Als je erop staat dat te doen, moet je de tabelnaam tussen dubbele aanhalingstekens zetten:
create table "user" (...);
Maar dan moet je altijd moet dubbele aanhalingstekens gebruiken bij het verwijzen naar de tabel. Bovendien is de tabelnaam dan hoofdlettergevoelig. "user"
is een andere tabelnaam dan "User"
.
Als je jezelf een hoop moeite wilt besparen, gebruik dan een andere naam. users
, user_account
, ...
Meer details over geciteerde identifiers zijn te vinden in de handleiding:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS