PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Die Postgresql-Docker-Rolle ist nicht vorhanden

Das Problem war einfach genug, dass auf meinem Computer bereits eine Instanz von Postgres lief, von der ich nicht wusste, dass sie noch läuft (nicht innerhalb von Docker) auf :5432 , geprüft mit:

$ lsof -n -i:5432 | grep LISTEN

Also erinnerte ich mich, dass ich es über https://gist.github.com/sgnl/609557ebacd3378f3b72 , ich rannte

$ pg-stop

Und dann hatte ich kein Problem damit, mich mit der Docker-Instanz zu verbinden.

Bearbeiten (02.07.2019)

Diese Frage wurde kürzlich 10.000 Mal aufgerufen, daher dachte ich, ich sollte näher darauf eingehen, warum dies passiert ist.

Normalerweise erfordert die Ausführung über Docker, die Verwendung von Python und die Verbindung mit einer Postgres-Datenbank die Installation von psycopg2 , über pip3 install psycopg2 , aber wenn Sie diesen Befehl ausführen, erhalten Sie:

Error: pg_config executable not found.

Dies liegt daran, dass psycopg2 eine Betriebssysteminstallation der Postgres-Bibliotheken erfordert:

yum install postgresql-devel
apt-get install postgresql-client

Jetzt müssen Sie auf einem Mac dasselbe mit brew tun:

brew install postgresql

Eine Sache, die mir nicht klar war, ist, dass auf einem Mac durch das oben Genannte nicht nur die erforderlichen Bibliotheken installiert werden, sondern auch Starten Sie eine Datenbank auf :5432 . Da dies alles im Hintergrund geschah, kam mir nicht in den Sinn, dass dies das Problem war, da keine der üblichen Fehlermeldungen auftauchten, die darauf hindeuteten, dass der Port verwendet wurde, etc...