phresh-tutorial icon indicating copy to clipboard operation
phresh-tutorial copied to clipboard

No matter what I do I can't connect to Postgres - HELP

Open coltonshipley opened this issue 4 years ago • 3 comments

I'm at a complete loss here. I cannot even continue because for some reason the connection times out. Here are my logs from the run docker-compose up command. This is with the exact docker-compose.yml from part 2. I added the DATABASE_URL string into the error logger function so i could see what it was doing. The only other change I made was putting the server on port 8005 so i could look around with portainer to see if anything popped out. (It didn't)

I have even tried to clone the entire part2 from github and I get the same result. This is being done on Ubuntu.

server_1 | INFO: Uvicorn running on http://0.0.0.0:8005 (Press CTRL+C to quit) server_1 | INFO: Started reloader process [1] server_1 | INFO: Started server process [9] server_1 | INFO: Waiting for application startup. db_1 | The files belonging to this database system will be owned by user "postgres". db_1 | This user must also own the server process. db_1 | db_1 | The database cluster will be initialized with locale "en_US.utf8". db_1 | The default database encoding has accordingly been set to "UTF8". db_1 | The default text search configuration will be set to "english". db_1 | db_1 | Data page checksums are disabled. db_1 | db_1 | fixing permissions on existing directory /var/lib/postgresql/data ... ok db_1 | creating subdirectories ... ok db_1 | selecting dynamic shared memory implementation ... posix db_1 | selecting default max_connections ... 100 db_1 | selecting default shared_buffers ... 128MB db_1 | selecting default time zone ... UTC db_1 | creating configuration files ... ok db_1 | running bootstrap script ... ok db_1 | sh: locale: not found db_1 | 2021-05-13 20:51:35.703 UTC [30] WARNING: no usable system locales were found db_1 | performing post-bootstrap initialization ... ok db_1 | syncing data to disk ... ok db_1 | db_1 | db_1 | Success. You can now start the database server using: db_1 | db_1 | pg_ctl -D /var/lib/postgresql/data -l logfile start db_1 | db_1 | initdb: warning: enabling "trust" authentication for local connections db_1 | You can change this by editing pg_hba.conf or using the option -A, or db_1 | --auth-local and --auth-host, the next time you run initdb. db_1 | waiting for server to start....2021-05-13 20:51:36.140 UTC [35] LOG: starting PostgreSQL 13.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, 64-bit db_1 | 2021-05-13 20:51:36.146 UTC [35] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" db_1 | 2021-05-13 20:51:36.163 UTC [36] LOG: database system was shut down at 2021-05-13 20:51:35 UTC db_1 | 2021-05-13 20:51:36.173 UTC [35] LOG: database system is ready to accept connections db_1 | done db_1 | server started db_1 | db_1 | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* db_1 | db_1 | waiting for server to shut down...2021-05-13 20:51:36.230 UTC [35] LOG: received fast shutdown request db_1 | .2021-05-13 20:51:36.235 UTC [35] LOG: aborting any active transactions db_1 | 2021-05-13 20:51:36.236 UTC [35] LOG: background worker "logical replication launcher" (PID 42) exited with exit code 1 db_1 | 2021-05-13 20:51:36.236 UTC [37] LOG: shutting down db_1 | 2021-05-13 20:51:36.276 UTC [35] LOG: database system is shut down db_1 | done db_1 | server stopped db_1 | db_1 | PostgreSQL init process complete; ready for start up. db_1 | db_1 | 2021-05-13 20:51:36.356 UTC [1] LOG: starting PostgreSQL 13.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, 64-bit db_1 | 2021-05-13 20:51:36.356 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 db_1 | 2021-05-13 20:51:36.356 UTC [1] LOG: listening on IPv6 address "::", port 5432 db_1 | 2021-05-13 20:51:36.372 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" db_1 | 2021-05-13 20:51:36.386 UTC [47] LOG: database system was shut down at 2021-05-13 20:51:36 UTC db_1 | 2021-05-13 20:51:36.394 UTC [1] LOG: database system is ready to accept connections server_1 | WARNING: --- DB CONNECTION ERROR --- server_1 | WARNING: postgres://postgres:postgres@db:5432/postgres server_1 | WARNING:
server_1 | WARNING: --- DB CONNECTION ERROR --- server_1 | INFO: Application startup complete.

coltonshipley avatar May 13 '21 20:05 coltonshipley

Yeah that seems frustrating. Especially since that error message is particularly unhelpful.

My recommendation would be to try two things:

First, with the docker container running, attempt to access the database with psql. Something like:

docker-compose exec db psql -h localhost -U postgres --dbname=postgres --port=5432 -W

If you can connect like so, then it's probably not an issue with the database config.

The other thing that might help is to update the docker-compose.yml file to match the port that you're running on, if you switched to 8005.

Jastor11 avatar May 21 '21 18:05 Jastor11

so it seems like i can indeed connect to the container with the above command, it askes for a password which i enter 'postgres' and it seems to allow access. So it seems that the two containers just can't communicate with each other for some reason.

coltonshipley avatar May 22 '21 12:05 coltonshipley

Hello guys, are we have any solution for this issue? I met this problem too

minhlu-i avatar Jun 22 '21 06:06 minhlu-i