Relation does not exist when trying to grant privileges

Viewed 6713

I'm currently writing a script to build my vagrant box. I got PHP 7 and some other tools installed, as well as PostgreSQL, but when creating the database and trying to grant privileges I'm getting the following error

ERROR: relation "projectname" does not exist

This is my script (the important stuff)

#!/usr/bin/env bash
projectname='projectname'
echo "Initializing database"
sudo apt-get install -y postgresql
sudo -u postgres psql -c "CREATE USER $projectname WITH PASSWORD 'xxxx';"
sudo -u postgres psql -c "CREATE DATABASE $projectname;"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON $projectname TO $projectname;"

Everything works until the last step

sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON $projectname TO $projectname;"

When trying this out, I'm getting the above error. I also tried to write it manually

sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON projectname TO projectname;"

Same error.

I also tried to wrap it in quotation marks

sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON 'feedparser' TO 'feedparser';"

sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON \"feedparser\" TO \"feedparser\";"

What exactly am I doing wrong here?

1 Answers
Related