使用 Postgres 9.6
我正在尝试在类型 adt_flds 上创建一个索引,其中的字段也名为adt_flds
create type adt_flds as
(
created_at timestamp
, updated_at timestamp
, created_by text
, updated_by text
, created_by_client_addr inet
, updated_by_client_addr inet
, created_by_client_cmptr text
, updated_by_client_cmptr text
);
我的尝试如下
架构 = 文档
表 = training_complete_history
字段 = adt_flds
字段列 = created_at
SQL
create index training_complete_history_adt_flds_index
on document.training_complete_history ((adt_flds).created_at);
不幸的是,我的尝试产生了以下错误。
[42601] 错误:“)”位置或附近的语法错误:114。
我将如何正确索引created_at
里面adt_flds
?
如果索引项不是列或函数调用,则需要在索引项周围加上一对额外的括号。
用文档的话来说:
WHERE
如果您想在 a or join 条件下使用复合类型的一部分,我认为使用复合类型是个坏主意。它违反了第一范式。