Connecting

Every project has two doors, both on port 5432 and both requiring TLS (sslmode=verify-full):

DoorHostRoleFor
pooledpool. and the project's domainthe application role, customer_appyour application: a transaction pooler
directdirect. and the project's domainthe administrator role, customer_adminmigrations, and tables in the public schema: a session pooler

Projects run PostgreSQL 18 with pgvector.

Passwords

No password is stored where you can read it back. To use a door, set its role's password: the new one replaces the previous one once the operation succeeds.

In the console, open the project, choose Connect, and set a new password for a door. The page makes the password in your browser and sends only a SCRAM verifier; it then shows the password, the connection string with it, and a psql line, once.

With the command-line client the password is made on your machine and written to a file only you can read:

apg endpoint show
apg endpoint credential --role app --password-file ./app-password --wait
apg endpoint connect --role app --password-file ./app-password
apg endpoint credential --role admin --password-file ./admin-password --wait

apg endpoint connect runs psql with the door, the role and TLS set; anything after it is passed to psql.

A connection string

postgresql://customer_app:PASSWORD@pool.PROJECT-DOMAIN:5432/DATABASE?sslmode=verify-full

The console and apg endpoint show give the exact host, role and database.

Something here wrong or missing? Write to invite@agenticpostgresql.com.