Estoy tratando de usar módulos contrib en las nuevas bases de datos compartidas de Postgres 9 en Heroku. Más específicamente, el pg_trgm y fuzzystrmatch módulos. En el documentation diceCómo habilitar módulos contrib en la base de datos Postgres de Heroku
Además, muchas extensiones de cortesía están disponibles, tales como fuzzystrmatch, pg_trgm y unaccent.
Parece que no encuentro ninguna documentación sobre CÓMO habilitar realmente estos módulos en una base de datos Heroku compartida. Ver la respuesta a continuación.
NOTA:
He intentado ellos adición mediante la conexión a la base de datos con
heroku pg:psql HEROKU_POSTGRESQL_BROWN
y funcionando
create extension pg_trgm
create extension fuzzystrmatch
pero después de intentar utilizarlo con
SELECT levenshtein('tests', 'test');
todavía dijo
ERROR: function levenshtein(unknown, unknown) does not existLINE 1: SELECT levenshtein('tests', 'test');
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Alguien sabe por qué sucede esto?
Nota: Para que funcione, debe estar en postgresql 9.1. Para actualizar desde una versión anterior, haga lo siguiente: dev (https://gist.github.com/2883249), prod (https://devcenter.heroku.com/articles/upgrading-postgres-versions) – jfeust
Puede obtener un listado completo de las extensiones disponibles en Heroku Postgres con 'echo' show extwlist.extensions '| heroku pg: psql' https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search – GregB