sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgresql Docker-rollen eksisterer ikke

Problemet var simpelt nok, at min computer allerede kørte en forekomst af Postgres, som jeg ikke var klar over, stadig kører (ikke inde i Docker) på :5432 , tjekket med:

$ lsof -n -i:5432 | grep LISTEN

Så jeg huskede, at jeg installerede det via https://gist.github.com/sgnl/609557ebacd3378f3b72 , jeg løb

$ pg-stop

Og så havde jeg ingen problemer med at oprette forbindelse til Docker-instansen.

Rediger (2019/07/02)

Dette spørgsmål passerede for nylig 10.000 visninger, så jeg tænkte, at jeg skulle uddybe mere om, hvorfor dette skete.

Normalt kørsel gennem docker, brug af python og tilslutning til en postgres-database kræver, at du installerer psycopg2 , via pip3 install psycopg2 , men hvis du kører denne kommando får du:

Error: pg_config executable not found.

Dette skyldes, at psycopg2 kræver en operativsysteminstallation af postgres-bibliotekerne:

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

Nu, på en Mac, skal du gøre det samme med brew:

brew install postgresql

En ting, som jeg ikke var klar over, er, at på Mac vil ovenstående ikke kun installere nødvendige biblioteker, men også start en database på :5432 . Fordi det hele blev gjort i baggrunden, faldt det ikke ind for mig, at dette var problemet, da ingen af ​​de sædvanlige fejl dukkede op for at informere om, at porten blev brugt osv...



  1. Konverter tekst til Varchar

  2. grupper ved at tilføje værdierne

  3. Hvornår opdaterer MySQL indekserne

  4. Sådan listes alle databaser ved hjælp af PostgreSQL