title: How do I make Postgres extension available to non superuser
body: <p>I installed a Postgres extension (unaccent) with</p>
  
  <pre><code>sudo su posgres
  psql create extension unaccent
  </code></pre>
  
  <p>and now I can use unacccent in sql, <strong>but only if I am the Postgres user</strong>.</p>
  
  <p>How do I make Postgres extension available to all/another user</p>
  
  <p>(Im on Ubuntu using Postgres 9.3.5 installed using apt-install)</p>
  
  <pre><code>jthinksearch=# \dx;
                           List of installed extensions
     Name   | Version |   Schema   |                 Description
  ----------+---------+------------+---------------------------------------------
   plpgsql  | 1.0     | pg_catalog | PL/pgSQL procedural language
   unaccent | 1.0     | public     | text search dictionary that removes accents
  (2 rows)
  
  jthinksearch=#
  
  
  jthinksearch=&gt; \du;
                               List of roles
   Role name |                   Attributes                   | Member of
  -----------+------------------------------------------------+-----------
   postgres  | Superuser, Create role, Create DB, Replication | {}
   ubuntu    |                                                | {}
  </code></pre>
  
  <p>postgres@ip-172-31-39-147:/home/ubuntu/code/jthinksearch/reports/src/main/sql$ exit
  ubuntu@ip-172-31-39-147:~/code/jthinksearch/reports/src/main/sql$ psql jthinksearch
  psql (9.3.5)
  Type "help" for help.</p>
  
  <p>I gave user superuser role but that didnt help, then as suggested put the schema name in , that had an effect on the error message but still didnt work</p>
  
  <pre><code>jthinksearch=# \du;
                               List of roles
   Role name |                   Attributes                   | Member of
  -----------+------------------------------------------------+-----------
   postgres  | Superuser, Create role, Create DB, Replication | {}
   ubuntu    | Superuser                                      | {}
  
  jthinksearch=# select unaccent(name) from musicbrainz.artist where id=195660;
  ERROR:  function unaccent(character varying) does not exist
  LINE 1: select unaccent(name) from musicbrainz.artist where id=19566...
                 ^
  HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
  jthinksearch=# ^C
  jthinksearch=# select public.unaccent(name) from musicbrainz.artist where id=195660;
  ERROR:  text search dictionary "unaccent" does not exist
  jthinksearch=#
  </code></pre>