For example, in the case of PostgreSQL, there is already a tool called pg_isready [0] to do this inside a healthcheck as you described.
services: postgres-db: image: postgres healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"]
application: image: image depends_on: postgres-db: condition: service_healthy
[0] https://www.postgresql.org/docs/current/app-pg-isready.html
For example, in the case of PostgreSQL, there is already a tool called pg_isready [0] to do this inside a healthcheck as you described.
services: postgres-db: image: postgres healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"]
However, this is not the case for other databases/services.[0] https://www.postgresql.org/docs/current/app-pg-isready.html