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.

Erwin Brandstetter
  • 605,456
  • 145
  • 1,078
  • 1,228
fagiani
  • 2,293
  • 2
  • 24
  • 31

2 Answers2

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:

Erwin Brandstetter
  • 605,456
  • 145
  • 1,078
  • 1,228
  • 4
    Fedora Users: ```yum install postgresql-contrib``` – zznq Mar 28 '14 at 23:03
  • @AlterLagos: You need `sudo`, if your currently logged in user does not have the necessary privileges (but `sudo` rights). – Erwin Brandstetter Jul 18 '14 at 01:21
  • 1
    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/` – Alter Lagos Jul 18 '14 at 03:22
  • this command works for me sudo apt-get install postgresql-contrib-9.3 – Jigar Bhatt Oct 28 '15 at 11:05
8

On CentOS:

sudo yum install postgres*contrib
Mingyu
  • 31,751
  • 14
  • 55
  • 60