PostgreSQL is now supported (experimental)

Warning: this is still experimental. Use it with caution.

The procedure to use passbolt with Postgresql is described here: How to configure Passbolt with Postgresql (experimental) | by Jean-Christophe Vassort | Feb, 2022 | passbolt

Enjoy :wink:

3 Likes

Works great on nginx!

Is it still experimental? 15 month later? Is there an official “release” of Passbolt with Postgres?

2 Likes

Hi @kingfisher,

so far Passbolt is not officially supporting Postgres. However we do ensure that Passbolt works on Postgres, and all our new features are tested on Postgres too.

Have you experimented Passbolt on Postgres? If you have, we would be glad to read your feedback here!

We just started to work on migrating to docker (with a new domain…) and flirt with moving to Postgres. I think we give it a try with the migration path from this how-to.

1 Like

We have successfully migrated the data to Postgres, but the installation of the php-pgsql extension fails. We think because the image is a non-root image.

debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: permission denied
...

Installing php-pgsql from here is a bit cumbersome and not the right way:

Command: >
      bash -c "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections;
        apt-get update;
        apt-get install -y php-pgsql;
        /usr/bin/wait-for.sh -t 0 postgres:5432 -- /docker-entrypoint.sh"

To build a custom image is not a way we would like to go.

Adding php-psql in the official image by default is mentioned here: As a user I can run PostgreSQL in passbolt-ce-non-root container - #3 by AnatomicJC

What is the status of the implementation?

Thank you!

For testing purpose, we switched to the root flavour if the image. Migrated before data successful with pgloader. We see all the data with pgadmin4. When we start passbolt with mariadb recovery of an account works (we changed domain). If we start with postgres recovery is not offered. Instead we get this message:

This email is not associated with any approved users on this domain. Please contact your administrator to request an invitation link.

What could be the reason for that?

Have you activated the self-registration plugin and set a valid domain different from the email in your account?
Maybe it is activated and set by default as the Passbolt domain.
You can check it on the Administration tab, and self-registration on the left menu

We do not use the self registration feature. For testing i switched self-registration on (started with mariadb, access to passbolt is possible, with my account which is an admin) and changed the database back to postgres. There is no difference in behaviour. No login possible, "This email is not associated with any approved users on this domain “. It apperas that passbolt is not recognizing that there are already users in the users table.

Startet with postgres:

Started with mariadb:

Healtchecks for both scenarious (mariadb and postgres) are healthy.

Could you try to connect with Postgres on a different browser-profile than the one you use for MariaDB?

If you have troubles doing so, specify us the browser you are using.

I already used another profile with a freshly installed Passbolt extension without luck. Tried it again on a fresh Chrome Profile. Normally i use Brave. The behaviour is the same.

With pgadmin4 i can see all the data in the Postgres database.

If you are interested and if this is common procedure we could share screens. We are interested in switching to Postgres. Most of our workload is postgres based.

Yes, we’d be interested in investigating this with you. I’ll message you to organize a call.

Hello,
I meet the same issue as kingfisher described. I’m not anymore able to log in or to recover my account. However, the migration of data succeed correctly. Moreover, I can see in the action_logs table that my activity is logged so I’m pretty sure the connection to the database is done well.
I’m not able to find any log in passbolt, stderr or any file so I don’t know what is the issue. If you found a solution I will be happy to read it.
Also, if you have a way to display more log to understand what the issue is, I will be happy too.