patternsqlModerate
Can column name be "Group" in PostgreSQL or in any databases
Viewed 0 times
postgresqlcandatabasesgroupcolumnanyname
Problem
I was designing a project which specifies that in a table what column name should be and one of the column name in the specification is "group".
I tried creating it but it always throw a syntax error near the word =
Syntax and error I am using and getting:
I tried creating it but it always throw a syntax error near the word =
"group". I am really curious since the keyword in SQL is "group by" not group, so what is the reason, I cannot rename or create a column with a name "group".Syntax and error I am using and getting:
ALTER TABLE test RENAME COLUMN sum TO group;
ERROR: syntax error at or near "group"
LINE 1: ALTER TABLE test RENAME COLUMN sum TO group;
Solution
group is a reserved word (and by is another reserved word) - it's not GROUP BY that is reserved. Because it is a reserved word, it cannot be used directly as an identifier.To use a reserved word or a name with "illegal" characters (such as a space) for an identifier, you need to quote the identifier.
ALTER TABLE test RENAME COLUMN sum TO "group";Note that when using quoted identifiers, you need to always quote it. And it becomes case sensitive.
"group" is a different column name than "GROUP".For more details please see the manual.
In general it is a very bad idea to use names that require quoting. It will save you a lot of trouble if you can come up with a different name that does not require quoting.
Code Snippets
ALTER TABLE test RENAME COLUMN sum TO "group";Context
StackExchange Database Administrators Q#52273, answer score: 15
Revisions (0)
No revisions yet.