我正在使用postgresql数据库,在表中,我有一个名为date的列。 当我尝试使用此列(日期)进行某些操作时会出现问题。
例如:
使用btree(date)创建索引tg_index ON table_replay;
这是我的错误:
错误:列“日期”不存在
****** 错误 ******
错误:列“日期”不存在SQL状态:42703
PS: 我无法更改此列名称,因为这是一个大型数据库,所以我需要很多年才能执行任何更改。感谢您的理解。
答案 0 :(得分:1)
http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html表示日期是保留关键字。你可以尝试引用它。这可能行不通。
我同意他的上述评论 - 使用具有一般意义的普通关键字通常是一种不好的做法 - 列名称应该有助于描述该列的用途。
答案 1 :(得分:1)
将列名从日期更改为另一个,例如date
,因为日期是保留字。您可以使用alter commmand轻松实现此目的。使用alter命令不会占用太多时间,因为alter命令只影响表结构reather而不是表的数据。 alter命令与表的数据无关。