Install a supported PostgreSQL release and the psql client, then create an isolated database for this book. Your first operational skill is not typing SQL; it is proving which server, database, role, and version you are connected to before making changes. A GUI is optional because psql works everywhere.
You need a computer account that can install software, a terminal, and roughly 1 GB of free space. Commands differ by operating system; use the official download page for current packages.
The PostgreSQL server is a running process that owns a data directory and listens for connections. psql is a client. They may be on the same computer or different machines.
Installing a client does not create a server. Starting a container does not make its data durable unless storage is mounted. Connecting successfully does not prove you reached the intended database.
Start local. Use managed PostgreSQL later when the operations chapter teaches budgets, networking, backups, maintenance, and provider limits.
Use the official PostgreSQL downloads and select your operating system. Install the server and command-line tools. Record the version, data-directory location, service name, and port. Do not expose the server to the public internet for a learning lab.
If Docker is already familiar, an isolated alternative is:
This binds only to the local loopback interface. Replace the placeholder locally; do not commit it. Check the current official image documentation before relying on environment or storage behavior.
Prefer an interactive password prompt for the first connection:
Avoid passwords inside connection URLs on shared screens, process lists, shell history, code, or Git. Later you will use a protected password file, secret manager, or short-lived identity where supported.
At the psql prompt, prove the target:
Create the isolated database from the administrative connection:
Reconnect:
Then repeat the identity query. \connect is a psql meta-command, not SQL.
Save the output of:
The database must be signaldesk_learning. Also run:
Evidence is complete only when it names the database, role, host or socket, port, and TLS status. If psql is missing, the client is not installed or not on PATH. If connection is refused, verify server status and port before changing authentication rules.
AI assistants make commands easy to generate and easy to run against the wrong target. A disciplined identity check prevents a local experiment from becoming a production migration. Environment identity should also appear in model-tool audit records so an approval cannot be replayed against a different database.
Open two terminal sessions. Connect one to postgres and one to signaldesk_learning. Run the identity query in both and annotate the difference.
Acceptance criterion: your evidence makes it impossible to confuse the two database targets even though they use the same server and role.