user
es una palabra reservada y generalmente no es una buena idea usar palabras reservadas para identificadores (tablas, columnas).
Si insiste en hacer eso, debe poner el nombre de la tabla entre comillas dobles:
create table "user" (...);
Pero siempre es necesario utilizar comillas dobles al hacer referencia a la tabla. Además, el nombre de la tabla distingue entre mayúsculas y minúsculas. "user"
es un nombre de tabla diferente al "User"
.
Si quiere ahorrarse muchos problemas, utilice un nombre diferente. users
,, user_account
...
Se pueden encontrar más detalles sobre los identificadores entre comillas en el manual: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS