Error when creating unaccent extension on PostgreSQL
Asked Answered
O

2

37

I am trying to configure PostgreSQL to use fulltext search in my rails app as mentioned in this Railscast.

I am using a fresh Ubuntu 12.04 server running PostgreSQL 9.1.5 installed using apt-get with the ppa:pitti/postgresql with precise.

I get the following error when trying to run the migration and when I try the same command in the psql console with the peer postgres user:

postgres=# CREATE EXTENSION unaccent;

ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/unaccent.control":
No such file or directory

In my local box running Ubuntu 10.04 desktop I use the same repository (natty) and it works well.

Any insights would be greatly appreciated.

Oina answered 23/8, 2012 at 22:2 Comment(0)
M
62

You need to install the package postgresql-contrib-9.1 in your system first. (Adapt to your version number! Here is the currently available list of packages.) That's the case under Debian, Ubuntu & friends anyway. Using a system user with the necessary privileges:

apt-get install postgresql-contrib-9.1

If your currently logged in user does not have the necessary privileges (but sudo rights):

sudo apt-get install postgresql-contrib-9.1

Quoting the PostgreSQL Apt Repository:

If the version included in your version of Debian is not the one you want, you can use the PostgreSQL Apt Repository.

There are basic install instructions on the Postgres website for each available OS.

For accent-insensitive indices using unaccent consider this related question:

Monochromat answered 23/8, 2012 at 22:46 Comment(4)
Fedora Users: yum install postgresql-contribOviposit
@AlterLagos: You need sudo, if your currently logged in user does not have the necessary privileges (but sudo rights).Monochromat
Yep, but that was not the big change. For you worked with postgresql-contrib-9.1 but that package was not available for me, instead I use postgresql-contrib and worked like a charm. I guess it should be because I'm using the official repo as source http://apt.postgresql.org/pub/repos/apt/Serow
this command works for me sudo apt-get install postgresql-contrib-9.3Anacoluthon
N
8

On CentOS:

sudo yum install postgres*contrib
Napoli answered 14/3, 2014 at 21:26 Comment(1)
I've just tried that on Centos 6.4 and got this message: "No package postgres*contrib available".Rorie

© 2022 - 2024 — McMap. All rights reserved.