Documentation
PostgreSQL
Connect TableR to any PostgreSQL server — or bootstrap one locally — with connection fields, connection strings, SSL/TLS, and troubleshooting.
PostgreSQL is a network SQL engine. Point TableR at an existing server by filling the connection form, or let TableR start a local PostgreSQL for you with the built-in bootstrap when you do not have a server yet.
You do not need to install PostgreSQL to try it. Choose PostgreSQL in the launcher and use Local bootstrap — TableR creates and starts a local server, and keeps its secrets in the OS keyring.
Overview
TableR speaks the native PostgreSQL wire protocol, so it works with a local install, a container, a managed service (RDS, Cloud SQL, Azure Database, Supabase, Neon, and similar), or a bootstrapped local server. Because these are all PostgreSQL, the same connection fields below apply everywhere; only the values change.
- Local development — connect to 127.0.0.1:5432, or bootstrap a local server.
- Remote / managed — use the provider endpoint and enable SSL/TLS.
- PostgreSQL-compatible engines — CockroachDB, Greenplum, and Amazon Redshift use the same protocol and similar fields.
Before you start
- A reachable PostgreSQL server (host and port), or use Local bootstrap instead.
- A database user (role) name — this is required.
- The user's password, if the server requires one.
- Optionally, the specific database to open on connect.
- For remote servers: network access to the port and, usually, SSL/TLS enabled.
Connection fields
These defaults match TableR's PostgreSQL connection form. Secrets are written to the operating system keyring, never to plain configuration files.
| Field | Required | Default | Notes |
|---|---|---|---|
| Host | Yes | 127.0.0.1 | Hostname or IP of the server. Use the provider endpoint for managed databases. |
| Port | Yes | 5432 | PostgreSQL's default port. Change it only if your server listens elsewhere. |
| Username | Yes | — | The role used to authenticate. |
| Password | No | — | Optional; stored in the OS keyring. Leave empty for trust/peer auth. |
| Database | No | — | Optional. When empty, PostgreSQL uses the default database for the role. |
| SSL/TLS | No | Off | Enable for remote servers; many managed providers require it. |
Connect with the form
- 1Choose PostgreSQL
Open the launcher and pick the PostgreSQL card.
- 2Enter host and port
Use 127.0.0.1 and 5432 for a local server, or your provider's endpoint for a remote one.
- 3Add credentials
Type the username, and the password if required. The password is saved to the OS keyring.
- 4Pick a database (optional)
Set a database to open it directly, or leave it blank to use the role's default.
- 5Enable SSL/TLS for remote
Turn on SSL/TLS when connecting to a remote or managed server.
- 6Save and connect
Save the profile so it reappears in the launcher, then connect.
Use a connection string
Instead of filling every field, you can paste a PostgreSQL connection URI. Both postgres:// and postgresql:// schemes are accepted.
postgresql://username:password@host:5432/database?sslmode=require- Omit the password from the URI and let TableR store it in the keyring instead.
- Append sslmode=require (or verify-full) for remote servers.
- URL-encode special characters in the password (for example @ becomes %40).
Local bootstrap
If you do not have a server, TableR can start a local PostgreSQL for you — no separate install required.
- 1Select PostgreSQL
Pick PostgreSQL in the launcher.
- 2Choose Local bootstrap
TableR provisions and starts a local server on your machine.
- 3Start querying
A connection is created for you; open a SQL tab and run a query.
Bootstrapped credentials, like all connection secrets, are kept in the OS keyring rather than in the interface or configuration files.
SSL/TLS
Local servers on 127.0.0.1 usually need no encryption. For anything over a network, enable SSL/TLS. If you connect with a URI, control the behaviour with the sslmode parameter.
- disable — no encryption (local only).
- require — encrypt, but do not verify the server certificate.
- verify-ca / verify-full — encrypt and verify the certificate (most secure).
Verify the connection
Once connected, open a SQL tab and run a quick check:
SELECT version();
SELECT current_database(), current_user;If both statements return rows, the connection and credentials are working.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Connection refused | Server not running, wrong host/port, or a firewall. | Confirm the server is up and the port is reachable; re-check host and port. |
| password authentication failed | Wrong username or password. | Re-check the credentials and update the saved password (it lives in the keyring). |
| SSL / encryption required | The server requires TLS. | Enable SSL/TLS, or add sslmode=require to the connection string. |
| database 'name' does not exist | The Database field names a database that is missing. | Leave Database empty, or enter one that exists. |
| too many clients already | The server hit its connection limit. | Close idle connections, or raise max_connections on the server. |