Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 为什么在创建GIN索引时出错?_Postgresql - Fatal编程技术网

Postgresql 为什么在创建GIN索引时出错?

Postgresql 为什么在创建GIN索引时出错?,postgresql,Postgresql,我创建了一个表来调查文本搜索,并使用GIST和GIN索引: CREATE TABLE test ( id serial NOT NULL, the_text text, CONSTRAINT test_pkey PRIMARY KEY (id) ) 并添加了一些随机值: insert into test values (generate_series(1,100000), md5(random()::text)) 并希望创建GIN索引: create index on test

我创建了一个表来调查文本搜索,并使用GIST和GIN索引:

CREATE TABLE test
(
  id serial NOT NULL,
  the_text text,
  CONSTRAINT test_pkey PRIMARY KEY (id)
)
并添加了一些随机值:

insert into test values (generate_series(1,100000), md5(random()::text))
并希望创建GIN索引:

create index on test using gin(the_text);
但我有一个错误:

错误:数据类型文本没有访问方法“gist”的默认运算符类

你能帮我吗?

用于搜索:

CREATE INDEX test_gin_idx ON test USING gin (to_tsvector('english', the_text));
对于三角图搜索,您可以使用
pg\u trgm
扩展名

CREATE EXTENSION pg_trgm;
CREATE INDEX test_the_text_gin_idx ON test USING GIN (the_text gin_trgm_ops);

您还需要启用
:btree\u gin
:btree\u gist
,因为这是创建索引的某种依赖关系。以下内容对我起到了作用,并修复了消息
错误:数据类型text没有访问方法“gin”的默认运算符类

CREATE EXTENSION pg_trgm;
CREATE EXTENSION btree_gin;
CREATE INDEX index_email_gin ON users USING GIN (email);