首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库将Oracle迁移到PostgreSQL,域索引

数据库将Oracle迁移到PostgreSQL,域索引
EN

Database Administration用户
提问于 2018-05-30 06:31:57
回答 1查看 1.5K关注 0票数 2

我正在使用aws模式转换工具将数据库oracle迁移到PostgreSQL。我发现了一个在PostgreSQL中不支持的错误。PostgreSQL不支持域索引。有人知道PostgreSQL中域索引的解决方案是什么吗?

代码语言:javascript
复制
CREATE INDEX CTX_IDX_UFA_EMAIL 
  ON USR_ACCOUNT(EMAIL) 
  INDEXTYPE IS CTXSYS.CTXCAT; 

当我创建这种类型的索引时,会在数据库中自动创建表和触发器。我的问题是PostgreSQL不支持这种类型的索引。在像Oracle一样工作的PostgreSQL数据库中,转换这种类型的索引的替代方法是什么?

Oracle:使用可扩展索引

以及更多关于“上下文”CTXCATindex型的内容。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-05-30 07:39:23

INDEXTYPE IS CTXSYS.CTXCAT是甲骨文在列上定义“全文索引”的方法,而不是普通的B树。

好消息是Postgres也有全文索引,这些索引在https://www.postgresql.org/docs/current/static/textsearch.html上有广泛的文档记录。

在Postgres中创建类似索引的基本语法是

代码语言:javascript
复制
create index CTX_IDX_UFA_EMAIL
on USR_ACCOUNT
using gin (to_tsvector('english', EMAIL));

坏消息是,在数据库中替换这种类型的索引意味着您还需要更改这个列/表上的查询。这可能也可能对用户界面产生影响--可能是终端用户目前能够输入Oracle全文索引搜索实现所理解的搜索项。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/208209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档