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

Il ruolo Docker Postgresql non esiste

Il problema era abbastanza semplice che il mio computer stava già eseguendo un'istanza di Postgres che non sapevo fosse ancora in esecuzione (non all'interno di Docker) su :5432 , verificato con:

$ lsof -n -i:5432 | grep LISTEN

Quindi mi sono ricordato di averlo installato tramite https://gist.github.com/sgnl/609557ebacd3378f3b72 , ho corso

$ pg-stop

E poi non ho avuto problemi a connettermi all'istanza Docker.

Modifica (02/07/2019)

Questa domanda ha recentemente superato 10.000 visualizzazioni, quindi ho pensato di dover approfondire il motivo per cui è successo.

Di solito l'esecuzione tramite docker, l'utilizzo di python e la connessione a un database postgres richiede l'installazione di psycopg2 , tramite pip3 install psycopg2 , ma se esegui questo comando otterrai:

Error: pg_config executable not found.

Questo perché psycopg2 richiede l'installazione del sistema operativo delle librerie postgres:

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

Ora, su un Mac, dovrai fare lo stesso con brew:

brew install postgresql

Una cosa di cui non mi rendevo conto è che su Mac, fare quanto sopra non solo installerà le librerie richieste, ma anche avvia un database su :5432 . Poiché tutto ciò è stato fatto in background, non mi è venuto in mente che questo fosse il problema poiché nessuno dei soliti errori è apparso per informare che la porta era in uso, ecc...