Re: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) disk I/O error - Mailing list pgadmin-support

From Dave Page
Subject Re: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) disk I/O error
Date
Msg-id CA+OCxowFHDuZi4Jx0THgAWV_2gte2+FFrbVAxqyS-MzbXwdEiw@mail.gmail.com
Whole thread
In response to sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) disk I/O error  ("Vijayan, Vipin" <Vipin.Vijayan@unilever.com>)
List pgadmin-support


On Fri, 2 Oct 2026 at 09:36, Vijayan, Vipin <Vipin.Vijayan@unilever.com> wrote:

Hi,

Greetings.

 

I looked into existing issues and couldn’t find the below issue also attempted to create an issue however was getting message Error unable to create issue, hence sending email.

 

While deploying pgadmin onto SAP BTP CF Subaccount getting attached error.

 

Here is the yml file content -

---

applications:

- name: pgadmin-web

  memory: 1G

  disk_quota: 1G

  health-check-type: process

  docker:

    image: dpage/pgadmin4:latest

  random-route: true

  env:

    PGADMIN_DEFAULT_EMAIL: admin@admin.com

    PGADMIN_DEFAULT_PASSWORD: admin123

 

Anything I need to check please suggest and more than willing to make it work.

Regards,

Vipin.


Hi Vipin,

The key line is sqlite3.OperationalError: disk I/O error, raised when pgAdmin first writes to its SQLite configuration database in /var/lib/pgadmin. The container's filesystem is refusing the write, so it is an environment problem rather than a pgAdmin bug. You can ignore the sudo warning: it only affects the mail relay.

A few things to try:

1. Raise disk_quota to 2G or more. On Cloud Foundry the quota has to hold the unpacked Docker image as well as runtime data.

2. As a quick test, point SQLite at /tmp by adding PGADMIN_CONFIG_SQLITE_PATH: "'/tmp/pgadmin4.db'" under env. Note the inner quotes: the value is read as a Python literal. If it starts, the problem is that particular path on that platform.

3. For a lasting fix, keep the configuration in PostgreSQL instead. Cloud Foundry does not keep a container's local disk across restarts, so with SQLite you would lose your users and saved servers every time the app restarts. Bind a PostgreSQL service and set PGADMIN_CONFIG_CONFIG_DATABASE_URI: "'postgresql://user:password@host:5432/pgadmin'". See https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html

Separately, please change PGADMIN_DEFAULT_PASSWORD from admin123 before this goes anywhere reachable, since random-route puts the app on a public URL.

Regards, Dave
 
--
Attachment

pgadmin-support by date:

Previous
From: Andrew Holub
Date:
Subject: Bug list request