skip to Main Content

My operating system is Linux.

I am going to connect Superset to PostgreSQL.

PostgreSQL port is open and its value is 5432.

PostgreSQL is also running and not closed.

Unfortunately, after a day of research on the Internet, I could not solve the problem and it gives the following error:

The port is closed.

enter image description here

Database port:

enter image description here

command: lsof -i TCP:5432

python3 13127 user   13u  IPv4 279806      0t0  TCP localhost:40166->localhost:postgresql (ESTABLISHED)
python3 13127 user   14u  IPv4 274261      0t0  TCP localhost:38814->localhost:postgresql (ESTABLISHED)

Please help me, I am a beginner, but I searched a lot and did not get any results.

3

Answers


  1. From the configuration file, you set port 5432, but it does not mean that your pg service is available

    Login or Signup to reply.
  2. Since you’re running Superset in a docker container, you can’t use 127.0.0.1 nor localhost, since they resolve to the container, not the host. For the host, use host.docker.internal

    Login or Signup to reply.
  3. I had a similar problem using docker compose. Port is closed can be due to networking problem. Host.docker.internal doesn’t worked for me on Ubuntu 22. I would like to recommend to not follow official doc and use better approach with single docker image to start. Instead of running 5 containers by compose, run everything in one. Use official docker image, here image. Than modify docker file as follows to install custom db driver:

    FROM apache/superset
    USER root
    RUN pip install mysqlclient
    RUN pip install sqlalchemy-redshift
    USER superset 
    

    Second step is to build new image based on docker file description. To avoid networking problems start both containers on same network (superset, your db) easier is to use host network. I used this on Google cloud example as follow:

    docker run -d --network host --name superset supers
    

    The same command to start container with your database. —network host. This solved my problems. More about in whole step to step tutorial: medium or here blog

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search