sql >> Databáze >  >> RDS >> PostgreSQL

Role Postgresql Docker neexistuje

Problém byl natolik jednoduchý, že na mém počítači již běžela instance Postgres, o které jsem nevěděl, že stále běží (ne v Dockeru) na :5432 , zkontrolováno pomocí:

$ lsof -n -i:5432 | grep LISTEN

Takže jsem si vzpomněl, že jsem to nainstaloval přes https://gist.github.com/sgnl/609557ebacd3378f3b72 , běžel jsem

$ pg-stop

A pak jsem neměl problém s připojením k instanci Docker.

Upravit (2019/07/02)

Tato otázka nedávno překonala 10 000 zobrazení, takže jsem si řekl, že bych měl více rozvést, proč se to stalo.

Obvykle běžící přes docker, používání pythonu a připojení k postgresové databázi vyžaduje instalaci psycopg2 , prostřednictvím pip3 install psycopg2 , ale pokud spustíte tento příkaz, dostanete:

Error: pg_config executable not found.

Je to proto, že psycopg2 vyžaduje instalaci operačního systému z knihoven postgres:

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

Nyní na Macu budete muset udělat totéž s brew:

brew install postgresql

Jedna věc, kterou jsem si neuvědomil, je, že na Macu provedení výše uvedeného nejen nainstaluje požadované knihovny, ale také spusťte databázi na :5432 . Protože se to vše dělo na pozadí, nenapadlo mě, že by to byl problém, protože se neobjevila žádná z obvyklých chyb, které by informovaly, že port byl používán atd...



  1. Aktualizace SQL, odstranění a vložení současně

  2. Django vlastní jedinečné společné omezení

  3. Vyberte každý řádek a vložte do jiné tabulky

  4. Filtr Ef core 5 many to many