sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql Docker-rollen finns inte

Problemet var enkelt nog att min dator redan körde en instans av Postgres som jag inte var medveten om fortfarande körde (inte i Docker) på :5432 , kontrolleras med:

$ lsof -n -i:5432 | grep LISTEN

Så jag kom ihåg att jag installerade det via https://gist.github.com/sgnl/609557ebacd3378f3b72 , jag sprang

$ pg-stop

Och sedan hade jag inga problem med att ansluta till Docker-instansen.

Redigera (2019/07/02)

Den här frågan passerade nyligen 10 000 visningar, så jag tänkte att jag borde utveckla mer om varför detta hände.

Vanligtvis att köra genom docker, använda python och ansluta till en postgres-databas kräver att du installerar psycopg2 , via pip3 install psycopg2 , men om du kör det här kommandot får du:

Error: pg_config executable not found.

Detta beror på att psycopg2 kräver en operativsysteminstallation av postgres-biblioteken:

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

Nu, på en Mac, måste du göra samma sak med brew:

brew install postgresql

En sak som jag inte insåg är att på Mac installerar du ovanstående inte bara nödvändiga bibliotek utan även starta en databas på :5432 . Eftersom allt detta gjordes i bakgrunden föll det mig inte in att detta var problemet eftersom inget av de vanliga felen dök upp för att informera om att porten användes osv...



  1. Kontrollera om alla värden i en array finns i en databaskolumn

  2. Hur man distribuerar Chamilo MariaDB-databasen för hög tillgänglighet

  3. Använder Barman för PostgreSQL Disaster Recovery

  4. java.sql.SQLException:Kolumnantal matchar inte värderäkning vid rad 1 fel