PostgreSQL错误[42804]:运算符类“_bpchar_ops”不接受数据类型字符

时间:2017-03-29 12:23:13

标签: database postgresql psql

我正在尝试为长度为1的字符列创建一个杜松子酒索引。(它只是一个简单的Y / N列)。如果我运行这个SQL:

create index INDEX_NAME on schema.table_name using gin(field_name);

我收到此错误:

  

SQL错误[42704]:错误:数据类型字符没有访问方法“gin”的默认运算符类    提示:您必须为索引指定运算符类,或者为数据类型定义默认运算符类。

如果我明确设置了运算符类,就像这样

create index INDEX_NAME on schema.table_name using gin(field_name _bpchar_ops);

我收到此错误:

  

SQL错误[42804]:错误:运算符类“_bpchar_ops”不接受数据类型字符

注意:

我已经运行此SQL来创建gin扩展

 create extension btree_gin;

1 个答案:

答案 0 :(得分:0)

character没有GIN运算符类,请参阅the documentation

由于长度为1,您可以改为使用"char"类型:

CREATE TABLE table_name (field_name "char");
CREATE INDEX ON table_name USING gin (field_name char_ops);

但是使用这样的指数会是什么?