Skip to content

Database Management

Database management allows you to create and manage MariaDB/MySQL and PostgreSQL databases and users through the panel. When creating a database, you choose the engine (MariaDB/MySQL or PostgreSQL) via a selector; the engine is shown in the database table.


Overview

The database table shows all configured databases:

Column Description
Name Database name
Customer Assigned customer
DB User Assigned database user
Size Current database size
Created Creation date

Create Database

  1. Click Create Database
  2. Fill out the form:
Field Required Description
Subscription Yes (Admin) Associated hosting subscription
Database Name Yes Name of the database (automatically prefixed)
Username Yes Database user (automatic prefix)
Password Yes Password for the database user
  1. Click Create

Name Prefix

Database and usernames automatically receive a prefix based on the subscription's Linux username (e.g. user1_wordpress). This ensures uniqueness.


Delete Database

  1. Click the Delete icon in the action column
  2. Confirm the deletion

Irreversible

When deleting a database, all tables and data are permanently removed. Create a backup via phpMyAdmin or the backup feature beforehand.


Manage Database Users

Change Password

  1. Click the Key icon in the action column
  2. Enter the new password
  3. Confirm the change

Update Application Configuration

After a password change, you must also update the new password in your web application's configuration (e.g. wp-config.php for WordPress).

Permissions (Grants)

By default, the database user receives full permissions on their database:

  • SELECT, INSERT, UPDATE, DELETE
  • CREATE, DROP, ALTER, INDEX
  • CREATE TEMPORARY TABLES
  • LOCK TABLES

Restricted Permissions

Permissions such as SUPER, FILE, or PROCESS are not granted for security reasons.


phpMyAdmin (SSO)

enconf provides Single Sign-On (SSO) for phpMyAdmin:

Access

  1. Click the phpMyAdmin button in the database row
  2. You are automatically logged in to phpMyAdmin
  3. The database is pre-selected

How It Works

  • A temporary token is generated
  • The token is valid only once and for a short time
  • No manual password entry required

phpMyAdmin Path

The phpMyAdmin path is configured in the server settings (default: /phpmyadmin).


PostgreSQL databases

PostgreSQL is a first-class engine, on par with MariaDB/MySQL. When creating a database, select PostgreSQL as the engine — provisioning, user/password management, and backups work identically.

PostgreSQL customer databases are strictly isolated:

  • Access to the database is restricted to its own role user (REVOKE CONNECT FROM PUBLIC).
  • The customer role is not a superuser and cannot see or modify other databases.
  • The public schema is owned by the database owner.

Permission

Whether a customer may create PostgreSQL databases is controlled by the package permission PostgreSQL databases (separate from MySQL). Connection/query limits apply per engine (see Packages).

Major upgrade

A PostgreSQL major upgrade (e.g. 16 → 17) is not performed automatically for safety reasons — it is triggered deliberately by the administrator. Minor updates run via the regular OS updates.


Adminer (PostgreSQL)

For PostgreSQL, enconf provides Adminer as the web database tool with Single Sign-On — the counterpart to phpMyAdmin for MySQL.

  • Click the Adminer button on a PostgreSQL database — you are logged in automatically.
  • Adminer is reachable at the path /dbadmin.
  • phpMyAdmin remains the tool for MariaDB/MySQL, Adminer for PostgreSQL.

Database Backups

Databases are automatically included in regular backups (MySQL via mysqldump, PostgreSQL via pg_dump — the appropriate method is chosen per engine). Additionally, you can:

  • Manually create a dump via phpMyAdmin (MySQL) or Adminer (PostgreSQL) (Export)
  • Perform a full backup via the backup feature
  • Import dumps via phpMyAdmin or Adminer (Import)

Quota Management

If a database quota is configured in the hosting package:

  • The current database size is monitored
  • When the quota is exceeded, write operations are blocked (depending on the overuse policy)
  • The customer is notified when the warning threshold is reached