Postgres. le rôle "root" n'existe pas. En essayant de pg: tirer la base de données d'Heroku
Im nouveau à Postgres et à Heroku. Je suis d'essayer de tirer de la base de données de Heroku, mais je suis absent quelque chose de simple. J'ai fait:
heroku pg:pull HEROKU_POSTGRESQL_IVORY_URL localdb
Et j'ai obtenu l'erreur:
createdb: database creation failed: ERROR: permission denied to create database
Ensuite, j'ai essayé la même chose avec "sudo". et j'ai eu:
createdb: could not connect to database template1: FATAL: role "root" does not exist
Donc, ça doit être que j'ai raté quelques commandes simples, je ne peux pas trouver. Im sur Linux, j'ai installé Postgres et de travail.
source d'informationauteur Alejandro Veintimilla | 2014-07-31
Vous devez vous connecter pour publier un commentaire.
createdb
est un wrapper autour de l'instruction SQLCREATE DATABASE
et comme tel il doit se connecter à la base de données.Par défaut, tous les Postgres outils en ligne de commande essayez de vous connecter à la base de données en utilisant le système d'exploitation actuel de l'utilisateur. Comme le message d'erreur indique qu'il n'y a pas d'utilisateur nommé
root
dans la base de données. Si vous avez besoin de passer le nom de la super-utilisateur Postgres pourcreatedb
pour être en mesure de se connecter. Cet utilisateur est généralement nommépostgres
.Une autre option est de passer de l'utilisateur de Linux pour
postgres
si un utilisateur de Linux existe.Je ne sais pas Heroku et je ne sais pas comment vous avez commencé à
createdb
mais le paramètre à passer d'un nom d'utilisateur est-U
(pour tous les Postgres programmes en ligne de commande). Ainsi vous auriez besoin d'Essayez d'utiliser:
sudo su - postgres
Puis createdb à l'aide de:
createdb name_of_db;