PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Namensbeschränkungen für Postgres-Tabellenspalten?

Hier ist eine schöne Tabelle mit reservierten Wörtern in PostgreSQL:
http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html

Es ist wahrscheinlich am besten, diese Wörter einfach nicht als Tabellen- oder Spaltennamen zu verwenden.
Alternativ können Sie den Bezeichner jedoch in doppelte Anführungszeichen setzen, z. B.:

CREATE TABLE IF NOT EXISTS apiss (
    skey TEXT, 
    time INTEGER, 
    "user" TEXT, 
    ip TEXT);

Außerdem reserviert Postgres Systemspaltennamen für den internen Gebrauch in jeder Tabelle:„Jede Tabelle hat mehrere Systemspalten, die implizit vom System definiert werden. Daher können diese Namen nicht als Namen benutzerdefinierter Spalten verwendet werden.“

https://www.postgresql.org/docs/current/ddl-system-columns.html