A course for developers
Connect to a managed PostgreSQL database with no password anywhere — from your laptop and from your code — and know which of three layers broke when it breaks.
Managed PostgreSQL on Google Cloud does not work the way you expect. There is
no hostname to connect to, no password to put in a .env file, and no
firewall rule listing who may connect. The first time you meet it, that feels
like obstruction.
It is not. Access is granted to an identity rather than to a secret or a network position, and once that clicks, the whole design reads as straightforward — including the error messages, which are unusually informative if you know what they are pointing at.
This course is what one team learned getting there, including the three mistakes that only surfaced because someone ran a verification query nobody had thought to run.
psql prompt.
Then the four ways it fails — including the one that wastes an afternoon
because it looks like the database is down.
The compressed version. Written to be printed and kept next to you, not read once.
Read lesson 4 and print the failure modes sheet. Between them they resolve most of what goes wrong. Come back for the rest when something surprises you.
It does not cover creating an instance, sizing it, high availability, backups, or migrating data into it. It starts from an instance that exists and someone has given you access to. It also assumes Cloud SQL for PostgreSQL; AlloyDB's connector works on the same principles, with different role and product names.
The error strings in this subject are specific enough that searching the literal text usually works. When it does not:
google-cloud-sql — where the exact messages
live.