---
title: PostgreSQL
description: Using PostgreSQL on your serverlet.
---

PostgreSQL is an advanced open-source relational database system that provides high reliability, robustness, and rich functionality. It's suited for demanding applications that need complex queries and transactional integrity.

For more details on PostgreSQL, see the [official documentation](https://www.postgresql.org/docs/).

## First use

By default, PostgreSQL is disabled on the serverlet. You can enable it from administration, on the serverlet's Software tab (see [Serverlet Control](/docs/serverlet/control/)):

Or via a terminal command:

```
$ app enable postgresql
```

Starting PostgreSQL:

```
$ app start postgresql
```

## Creating and managing databases

Databases can be created and managed from the UI, or from SSH/CLI using the Futrou DB Manager tool.

### Administration (UI)

You can add a new database with a user account in [Administration](https://old-app.futrou.com), on the serverlet's Databases tab.

### Futrou DB Manager (CLI)

Use the **Futrou DB Manager** tool to manage databases from the terminal:

```
Futrou DB Manager
Usage: db {name} list
Usage: db {name} add {database_name} {password}
Usage: db {name} update {database_name} {new_password}
Usage: db {name} del {database_name}
Supported databases: mariadb, mongodb, postgresql
Example: db postgresql list
```

Commands:

- `db postgresql list` — lists all databases
- `db postgresql add database_name password` — creates a new database with a user and password
- `db postgresql update database_name new_password` — updates the password for a database
- `db postgresql del database_name` — deletes a database

Example:

```
$ db postgresql add moje_db tajne_heslo
```

## Control

Control PostgreSQL with:

```
$ psql
```

To connect to a specific database:

```
$ psql -d database_name
```

## Configuration

All PostgreSQL configuration is stored in configuration files in the `/srv/config/postgresql/` directory. The main configuration file is `postgresql.conf`.