Retool API not connecting to postgres db

Hi,
I'm was trying to update my instance but I'm receiving 502 Bad Gateway. I rolled my server back to the previous version and now I am receiving it there too.

In the log from the api container, it looks like it is not connecting to the postgres db.

Error running database migrations: SequelizeConnectionError: getaddrinfo EAI_AGAIN postgres
wait-for-it.sh: waiting 15 seconds for postgres:5432
wait-for-it.sh: timeout occurred after waiting 15 seconds for postgres:5432
not untarring the bundle
sed: can't read ./dist/mobile/*.js: No such file or directory
{"level":"info","message":"[process service types] API_SERVICE","timestamp":"2024-11-14T09:35:19.265Z"}
Failing checking database migrations

Hi @jpearson thanks for raising this!

I'm assuming your self hosted instance's DB has been externalised (and is not running locally as a container) on a Domain name? Seems that the retool instance is unable to make a successful connection to the DB, due to issues looking up the domain name for your DB.

Did you make any networking or infra changes during updating?
This change was most likely not rolled back which is causing the connection issues here to your DB. Maybe e.g if you stopped your instance temporarily (in AWS), the instance IP address changed and needs to be updated in any load balancers etc.

The database is still local. I have not externalized yet. There really should not have been any changes because I made a snapshot of our server before I tried to do any updates. Then later I rolled back to that snapshot

Hey @jpearson - If your Postgres DB is local, I assume you're using Docker Compose to deploy your Retool instance? If so, does just doing a docker compose down and docker compose up -d again help? FYI the syntax may be docker-compose if you have v1 installed.

I've only seen that DNS error very occasionally, but only on Kubernetes deployments where something went wrong with the coredns pod and we have to restart it.