Solución:
Aquí hay una buena tabla de palabras reservadas en PostgreSQL:
http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
Probablemente sea mejor simplemente evitar usar esas palabras como nombres de tablas o columnas.
Sin embargo, una alternativa es encerrar el identificador entre comillas dobles, por ejemplo:
CREATE TABLE IF NOT EXISTS apiss (
skey TEXT,
time INTEGER,
"user" TEXT,
ip TEXT);
Además, Postgres reserva los nombres de las columnas del sistema para uso interno en cada tabla: “Cada tabla tiene varias columnas del sistema que están definidas implícitamente por el sistema. Por lo tanto, estos nombres no pueden usarse como nombres de columnas definidas por el usuario”.
https://www.postgresql.org/docs/current/ddl-system-columns.html
En mi empresa, tuve que escanear una base de datos completa en busca de palabras reservadas. Resolví la tarea con la ayuda de
select * from pg_get_keywords()