wake-up-neo.com

Postgres. Rolle "root" existiert nicht. Beim Versuch, eine pg: Datenbank aus Heroku abzurufen

Ich bin neu bei Postgres und bei Heroku. Ich versuche die Datenbank von Heroku zu holen, aber mir fehlt etwas einfaches. Ich tat:

heroku pg:pull HEROKU_POSTGRESQL_IVORY_URL localdb

Und ich habe den Fehler bekommen:

createdb: database creation failed: ERROR:  permission denied to create database

Dann habe ich das gleiche mit "Sudo" versucht. und ich habe:

createdb: could not connect to database template1: FATAL:  role "root" does not exist

Es muss also sein, dass mir einige einfache Befehle fehlen, die ich nicht finden kann. Im Linux habe ich Postgres installiert und funktioniert. 

12

createdb ist ein Wrapper um die SQL-Anweisung CREATE DATABASE und muss daher eine Verbindung zur Datenbank herstellen. 

Standardmäßig versuchen alle Postgres-Befehlszeilentools, eine Verbindung mit der Datenbank unter Verwendung des aktuellen Betriebssystembenutzers herzustellen. Wie aus der Fehlermeldung hervorgeht, befindet sich in der Datenbank kein Benutzer mit dem Namen root. Sie müssen also den Namen des Postgres-Superuser übergeben, damit createdb eine Verbindung herstellen kann. Dieser Benutzer hat normalerweise den Namen postgres

Eine andere Option ist, den Linux-Benutzer auf postgres zu setzen, wenn ein solcher Linux-Benutzer vorhanden ist. 

Ich kenne Heroku nicht und ich weiß nicht, wie Sie createdb gestartet haben, aber der Parameter, an den ein Benutzername übergeben wird, ist -U (für alle Postgres-Befehlszeilenprogramme). Sie würden also brauchen

 createdb -U postgres name_of_new_database
22

Versuchen zu benutzen:

Sudo su - postgres

Dann erstellt mit:

createdb name_of_db;

0
Ezrqn Kemboi