tabla - restriccion check postgresql
¿Postgres tabla de restricciones de nombre de columna? (2)
Aquí hay una buena tabla de palabras reservadas en PostgreSQL:
http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
Probablemente es mejor simplemente evitar usar esas palabras como nombres de tablas o columnas.
Una alternativa, sin embargo, es encerrar el identificador entre comillas dobles, por ejemplo:
CREATE TABLE IF NOT EXISTS apiss (
skey TEXT,
time INTEGER,
"user" TEXT,
ip TEXT);
Hice esto en psql:
CREATE TABLE IF NOT EXISTS apiss (skey TEXT, time INTEGER, user TEXT, ip TEXT);
yo obtengo
ERROR: syntax error at or near "user" LINE 1: ...BLE IF NOT EXISTS apiss (skey TEXT, time INTEGER, user TEXT,...
Hago:
CREATE TABLE IF NOT EXISTS apiss (skey TEXT, time INTEGER, userd TEXT, ip TEXT);
Funciona.
Tenga en cuenta el usuario en lugar del usuario.
¿Existen algunas restricciones en los nombres de columna que puede tener una tabla? (Postgresql v9.1.3)
En mi empresa, tuve que escanear una base de datos completa para las palabras reservadas. Resolví la tarea con la ayuda de
select * from pg_get_keywords()