Deploy PostgreSQL in 5 minutes
This guide walks you through creating your first PostgreSQL cluster from the Hikube console, up to the first connection with psql.
Objectives
By the end of this guide, you will have:
- A PostgreSQL cluster deployed in your Hikube project
- An application database and a user to connect to it
- A password generated by the platform
- A working connection with
psql
Prerequisites
- A Hikube account and a project with sufficient quotas (CPU, memory, storage)
- The
psqlclient installed on your workstation, if you want to test a connection from the Internet
Step 1: Create the cluster
- Log in to the Hikube console and select your project.
- In the side menu, open DB & Messaging → PostgreSQL. The PostgreSQL Clusters page is displayed.
- Click Create a cluster. The Create a PostgreSQL cluster wizard opens.
Step 2: Configure and confirm
The wizard has six steps: General, Configuration, Databases, Users, Summary and Finish. Move between them with Next and Previous.
General
Enter the Cluster Name (a random name is suggested by default), for example demo-pg. It must be 3 to 16 characters long (lowercase letters, digits and hyphens), start with a letter and end with a letter or a digit.
Configuration
| Field | Recommended value for this guide | Note |
|---|---|---|
| PostgreSQL Version | 18 | Offered versions: 15, 16, 17, 18 |
| Instance preset | s1.small — 1 CPU / 2Gi | No preset is preselected; capacity allocated to each node |
| Disk size (GB) | 10 | Storage capacity per node |
| Number of replicas | 1 (Standalone) | 2 or 3 for high availability |
| External access | Enabled | Required to connect from your workstation |

The banner at the top of the wizard shows the Estimated Cost and the impact on the project quotas.
The Number of replicas cannot be changed after creation. For production, choose 2 (High Availability) or 3 (Max High Availability) from the start.
Only enable External access if you need it: it exposes the database on the public Internet.
Databases
Enter a Database name, for example myapp (1 to 54 characters: lowercase letters, digits, underscores and hyphens; starts with a letter or an underscore, but not with pg_), then click Add.
Add at least one application database: the postgres database, always created, is a system database reserved for the platform, and your users cannot receive any right on it.
Users
Add at least one user:
- Username: for example
app_user(lowercase letters, digits and underscores only, no hyphen). - Database name: select
myapp. The list offers only the databases added at the Databases step. Without an application database, it shows “No application database” and the user is created without any right. - Rights: Administrator (Admin) or Read-only.
- Click Add.
Summary
Review the summary (Version, Instance preset, Data volume, Replicas, External exposure, Databases to create, Users to create, Estimated cost), then click Create cluster.
Step 3: Check the status
The Finish step confirms the creation ("Creation complete!"). Click Finish to open the cluster page.
The cluster status is shown next to its name, on the cluster page as well as in the PostgreSQL Clusters list:
| Status | Meaning |
|---|---|
| Creating | The cluster is being provisioned |
| Ready | The cluster is operational |
| Error | The platform could not apply the cluster's creation or its last change |
Expected result: after a few minutes, the status changes to Ready. The cluster page shows the PostgreSQL Version, the Replicas, the Allocated Size and the External Access (Enabled).
Step 4: Retrieve the credentials
Passwords are displayed only once, at the wizard's Finish step, in the User Credentials section:
- Password of each user created;
- Internal Connection String: the cluster address, when external access is enabled.
If the platform refuses a user, the step shows “User not created” and the reason, instead of its password.

Copy these passwords into a password manager before leaving the screen: they will not be displayed again. If one is lost, generate a new one from the Users tab (Actions → Change Password).
The Connection and Databases card of the cluster page shows its addresses in two zones, each with a copy button:
- Internal, From the project's resources only: the internal host, always filled in, and the port (
5432). It is reachable from the VMs and Kubernetes clusters of the same project, without external access; - External, From the Internet: the public address, when External Access is enabled.
Step 5: Connect and test
From your workstation, connect with psql to the address in the External zone:
psql "host=<host> port=5432 dbname=myapp user=app_user sslmode=require"
From a VM or a Kubernetes cluster of the project, use the host in the Internal zone: psql "host=<internal-host> port=5432 dbname=myapp user=app_user".
Enter the password when prompted, then check the connection:
SELECT version();
CREATE TABLE test (id serial PRIMARY KEY, message text);
INSERT INTO test (message) VALUES ('Hello Hikube');
SELECT * FROM test;
Expected result:
id | message
----+--------------
1 | Hello Hikube
(1 row)
Step 6: Quick troubleshooting
The External zone shows "Disabled" or "Waiting for allocation…"
"Disabled": External Access is turned off. Enable it via Edit if you need to connect from the Internet; from the project, use the host in the Internal zone. "Waiting for allocation…": the public address has not been assigned yet, wait a few moments.
The internal host does not resolve from a VM
Copy the full name from the Internal zone, without shortening it. On Debian 13, the name does not resolve without configuration: see Reaching a managed service in the project.
The Next button stays disabled
- At the Configuration step: the cluster exceeds the project quotas. Reduce the preset, the disk size or the number of replicas.
- At the Users step: add at least one user.
Authentication rejected
Check the username, the target database and the password. If the password has been lost, perform a rotation from the Users tab. See Manage users and databases.
The cluster changes to Error
The platform could not apply the cluster's creation or its last change. Contact support, providing the project and cluster names.
Step 7: Cleanup
- Open the cluster page (DB & Messaging → PostgreSQL → cluster name).
- Click Delete cluster.
- Enter the exact cluster name in the Resource name to confirm field, then click Permanently delete.
This action deletes the PostgreSQL cluster and all associated data. It is irreversible.
Summary
From the console, you have created:
- A PostgreSQL cluster in your project
- A database and a user with their rights
- External access and a
psqlconnection