saleor: Unable to install, permission denied to create extension "hstore"

trying to install saleor, but getting the following error :

django.db.utils.ProgrammingError: permission denied to create extension "hstore" HINT: Must be superuser to create this extension.

I don’t and will not have the superuser right for postgreSQL for security reasons. (shared hosting solution)

Can we manually do what this extension does, with simple SQL command. Or can the database be manually prepared so we don;t have to use this extension.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (8 by maintainers)

Most upvoted comments

To create an extension by running migrate, make your database user superuser

ALTER USER myuser WITH SUPERUSER;

After run migrate, remove the superuser role from your user.

ALTER USER username WITH NOSUPERUSER;

You only need the superuser role to create the extensions.

You can also create the extension manually and then run migrations, if the extensions already exist the database user will not try to create it.

CREATE EXTENSION IF NOT EXISTS hstore;

Login to PostgreSQL and run: CREATE EXTENSION IF NOT EXISTS hstore;

For other extensions you can do: CREATE EXTENSION IF NOT EXISTS pg_trgm; CREATE EXTENSION IF NOT EXISTS unaccent;

@onelsonic did you set BACKWARD_HSTORE_COMPATIBILITY to False?

export BACKWARD_HSTORE_COMPATIBILITY=False

@onelsonic check out the above-linked pull request for a solution to your need 👍