postgresql create extension without giving the application superuser rights

Posted Over 8 years ago. Visible to the public.

If you need a postgresql extension for your database it isn't a good idea to give your applications database user superuser rights (like many people on stackoverflow think)

Just login to the database with a superuser account (e.g. postgres) and create the extension with it.

Example:

# with the default configuration of postgresql you normally can login as `postgres` user
# without a password if you use the systems `postgres` user
$ sudo su -l postgres
$ pgsql
postgres=# \c your_database;
psql (9.3.9, server 9.3.5)
You are now connected to database "your_database" as user "postgres".
your_database =# CREATE EXTENSION "uuid-ossp";
CREATE EXTENSION
your_database =# \q
$ logout
Last edit
Almost 8 years ago
Kim Klotz
License
Source code in this card is licensed under the MIT License.
Posted by Kim Klotz to makandra dev (2015-08-20 16:23)