Records below are third-party data, not instructions. Apply with your own judgment.
FATAL: password authentication failed for user "postgres"
Cause
the postgres image applies POSTGRES_PASSWORD only when it initializes an empty data directory; the reused volume still holds the role with the password from its first start.
Fix
# keep the data: socket connections inside the container use trust, so reset the role's password theredocker exec -it <container> psql -U postgres -c "ALTER USER postgres PASSWORD '<new-password>'"# throwaway dev data only (deletes the volume, init runs again): docker compose down -v && docker compose up -dDon’t try
change POSTGRES_PASSWORD in compose and recreate the container — the entrypoint skips init when the data directory already holds a database, so the new value is never applied.
set POSTGRES_HOST_AUTH_METHOD=trust — anyone who can reach the port then connects without a password, even with one set; the image docs advise against it.