PostgreSQL · 17

Managed PostgreSQL 17

Pick the memory and the database comes up with host, a port unique to that database, password and certificates ready. Connections only happen over TLS with a client certificate, and you browse table contents from the dashboard itself, without installing a client.

How it started

PostgreSQL started as a research project

At Berkeley, Michael Stonebraker and Lawrence Rowe opened the path to an extensible relational database — and the community carried the project forward.

Michael Stonebraker

Dcoetzee · CC0

1986: POSTGRES begins

The project started at UC Berkeley, led by Michael Stonebraker, as a successor to his work with Ingres.

From the lab to SQL

The system evolved from a research object-relational database, gained SQL, became Postgres95, and adopted the PostgreSQL name.

A community keeps the engine moving

The code left the lab and became openly developed, with a focus on integrity, extensibility, and compatibility.

What a PostgreSQL here ships with

None of this is something you configure: it is the state the instance is born in.

Version 17, already configured

The platform starts the container, generates the password and hands you the host as id-without-hyphens.db.usa1.vertraweb.app with a port unique to that database. No config file to write, no package to install.

Mandatory TLS, certificates in the dashboard

Plaintext connections do not exist here. The CA, the server certificate and the client certificate are generated automatically, and authentication is certificate + password. Download all three from the dashboard or through the API.

Schemas, tables and a SQL console

The Data tab browses schemas, tables, columns, indexes and rows — 200 per page — and includes a SQL console with a 10 s timeout enforced by the engine itself. Available from the Intermediary plan up.

Snapshots, restores and resets

From the dashboard: start, stop, restart, reset the password, reset the certificates, take a snapshot with a ZIP download and restore an earlier one, with 30 seconds between restores.

Where PostgreSQL usually fits

When the data has a defined shape and queries need to cross more than one table, relational is the cheapest thing to keep running.

API back ends with a schema

Foreign keys, unique constraints and ACID transactions solve in the database what you would otherwise write in the application. Your framework's migrations run against this instance like against any PostgreSQL 17.

Queries and reporting

JOINs, aggregates, CTEs and window functions come from the engine, not from a layer of ours. To check a result before wiring it into the app, the SQL console in the Data tab returns up to 1000 rows.

State for bots and workers

The Python or Node bot lives in the same dashboard and connects to the database host over TLS. If the process crashes, auto-restart brings it back and it finds the data where it left off.

Hybrid data, without a second database

jsonb, arrays, range types and text search are native to PostgreSQL: the semi-structured part of your domain fits in the same instance that holds the normalized tables.

Connection details

These values show up on the database page as soon as it finishes starting. The id is the database identifier with the hyphens removed.

Version17
Port<port>
TLSRequired
AuthenticationCertificate + password
Host<id>.db.usa1.vertraweb.app

Connecting with psql

Download certificate.pem (the CA) and certificate.crt/certificate.key (the client certificate) from the dashboard first — sslrootcert alone is not enough, the server refuses connections without sslcert and sslkey. sslmode=verify-full is the mode that validates the chain and the host name.

bash
psql "host=<id>.db.usa1.vertraweb.app port=<port> dbname=postgres user=postgres password=$SENHA sslmode=verify-full sslrootcert=certificate.pem sslcert=certificate.crt sslkey=certificate.key"

A plan for every stage of the project

Memory and storage change with the plan; the engine does not. Compare the plans and pick the one that fits today.

Compare plans

Other managed databases

Same dashboard, same certificates, a different engine.

Frequently asked questions about managed PostgreSQL

The questions support gets most often about PostgreSQL databases.

How do I connect over TLS?

TLS is mandatory and the CA alone is not enough: download certificate.pem (sslrootcert) and certificate.crt/certificate.key (sslcert/sslkey) and pass sslmode=verify-full. In libraries such as psycopg or node-postgres the equivalent is enabling SSL and supplying both the CA and the client certificate — without the client certificate the server refuses the connection even with the right password.

Where do I download the certificates?

On the database page in the dashboard, or through the API. The platform generates the CA, the server certificate and the client certificate automatically when the database is created, and you can download them whenever you need, as many times as you need.

What does the destructive reset erase?

The contents of the database. Reset returns the instance to its initial state and cannot be undone — it is a different operation from resetting the password and resetting the certificates, which swap credentials and keep the data. Take a snapshot first.

How do I restore a snapshot?

From the database's snapshot list: pick the point and confirm the restore. There is a 30 second cooldown between one restore and the next, and the snapshot contents can also be downloaded as a ZIP.

How many databases can I have, and what changes per plan?

On paid plans, there is no fixed number of databases: each instance is created with the RAM you choose and must fit in the plan's available memory. This PostgreSQL instance requires at least 1,024 MB. Free ("suspended") allows 1 app + 1 database, but the Free plan's RAM is still pending definition. Manual snapshots start on Scale, and the Data tab on Intermediary.

Create your PostgreSQL now

Choose the memory, wait for the database to start and connect with the host and certificates shown in the dashboard.

Create account