在PostgreSQL上创建非强制扩展时出错

fag*_*ani 35 postgresql full-text-search unaccent rails-postgresql postgresql-9.1

我正在尝试将PostgreSQL配置为在我的rails应用程序中使用全文搜索,如此Railscast中所述.

我正在使用与with一起Ubuntu 12.04运行PostgreSQL 9.1.5安装的新服务器.apt-getppa:pitti/postgresqlprecise

尝试运行迁移时,当我在psql控制台中使用peer postgres用户尝试相同的命令时,我收到以下错误:

postgres=# CREATE EXTENSION unaccent;
Run Code Online (Sandbox Code Playgroud)

错误:无法打开扩展控制文件"/usr/share/postgresql/9.1/extension/unaccent.control":
没有这样的文件或目录

在我的本地框运行中,Ubuntu 10.04 desktop我使用相同的存储库(natty),它运行良好.

任何见解将不胜感激.

Erw*_*ter 59

您需要先postgresql-contrib-9.1在系统中安装软件包.(适应您的版本号!这是当前可用的软件包列表.)无论如何,Debian,Ubuntu和朋友都是如此.使用具有必要权限的系统用户:

apt-get install postgresql-contrib-9.1
Run Code Online (Sandbox Code Playgroud)

如果您当前登录的用户没有必要的权限(但sudo权限):

sudo apt-get install postgresql-contrib-9.1
Run Code Online (Sandbox Code Playgroud)

引用PostgreSQL Apt存储库:

如果您的Debian版本中包含的版本不是您想要的版本,则可以使用PostgreSQL Apt Repository.

Postgres的网站上基本安装说明每个可用的操作系统.

对于使用重音不敏感的索引,请unaccent考虑以下相关问题:

  • Fedora用户:```yum install postgresql-contrib``` (3认同)
  • 对我来说,使用`sudo apt-get install postgresql-contrib` (2认同)

Min*_*gyu 7

在CentOS上:

sudo yum install postgres*contrib
Run Code Online (Sandbox Code Playgroud)