I am running SOGo nightly with MySQL on Debian 12. I have never needed to
use it with PostgreSQL. So when I changed the sources to instead use a
PgSQL DB, I ran into errors:
```
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42a0620[SOGoProductLoader]> SOGo
products loaded from '/usr/lib/GNUstep/SOGo':
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42a0620[SOGoProductLoader]>
MainUI.SOGo, MailPartViewers.SOGo, ContactsUI.SOGo, AdministrationUI.SOGo,
MailerUI.SOGo, CommonUI.SOGo, Appointments.SOGo, Contacts.SOGo,
SchedulerUI.SOGo, PreferencesUI.SOGo, Mailer.SOGo
Jan 05 15:05:54 sogod [3048026]: All products loaded - current memory usage
at 97 MB
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> listening
on 127.0.0.1:20000
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> watchdog
process pid: 3048026
Jan 05 15:05:54 sogod [3048026]: <0x0x7fa6020b2460[WOWatchDogChild]>
watchdog request timeout set to 10 minutes
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> preparing 3
children
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> child
spawned with pid 3048029
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> child
spawned with pid 3048030
Jan 05 15:05:54 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> child
spawned with pid 3048031
2026-01-05 15:05:54.817 sogod[3048029:3048029] EOAdaptor: cannot find
adaptor bundle: 'PostgreSQL'
2026-01-05 15:05:54.817 sogod[3048031:3048031] EOAdaptor: cannot find
adaptor bundle: 'PostgreSQL'
2026-01-05 15:05:54.819 sogod[3048030:3048030] EOAdaptor: cannot find
adaptor bundle: 'PostgreSQL'
Jan 05 15:05:54 sogod [3048029]: [ERROR] <0x0x557fb42f4870[WOWatchDog]> an
exception occured in runloop <NSException: 0x557fb4300930>
NAME:NSInvalidArgumentException REASON:Tried to add nil value for key
'localhost:5432:sogou:sogo' to dictionary INFO:{}Jan 05 15:05:54 sogod
[3048031]: [ERROR] <0x0x557fb42f4870[WOWatchDog]> an exception occured in
runloop <NSException: 0x557fb43080a0> NAME:NSInvalidArgumentException
REASON:Tried to add nil value for key 'localhost:5432:sogou:sogo' to
dictionary INFO:{}
Jan 05 15:05:54 sogod [3048030]: [ERROR] <0x0x557fb42f4870[WOWatchDog]> an
exception occured in runloop <NSException: 0x557fb43080a0>
NAME:NSInvalidArgumentException REASON:Tried to add nil value for key
'localhost:5432:sogou:sogo' to dictionary INFO:{}
Jan 05 15:05:55 sogod [3048026]: <0x0x557fb43b94d0[WOWatchDogChild]> child
3048029 exited
Jan 05 15:05:55 sogod [3048026]: <0x0x557fb43b9420[WOWatchDogChild]> child
3048030 exited
Jan 05 15:05:55 sogod [3048026]: <0x0x557fb43b9040[WOWatchDogChild]> child
3048031 exited
Jan 05 15:05:55 sogod [3048026]: <0x0x557fb43b9040[WOWatchDogChild]>
avoiding to respawn child before 2026-01-05 15:05:59 +0300
Jan 05 15:05:55 sogod [3048026]: <0x0x557fb43b9420[WOWatchDogChild]>
avoiding to respawn child before 2026-01-05 15:05:59 +0300
Jan 05 15:05:55 sogod [3048026]: <0x0x557fb43b94d0[WOWatchDogChild]>
avoiding to respawn child before 2026-01-05 15:05:59 +0300
Jan 05 15:06:00 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> child
spawned with pid 3048043
Jan 05 15:06:00 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> child
spawned with pid 3048044
2026-01-05 15:06:00.323 sogod[3048043:3048043] EOAdaptor: cannot find
adaptor bundle: 'PostgreSQL'
Jan 05 15:06:00 sogod [3048026]: <0x0x557fb42f4870[WOWatchDog]> child
spawned with pid 3048045
Jan 05 15:06:00 sogod [3048043]: [ERROR] <0x0x557fb42f4870[WOWatchDog]> an
exception occured in runloop <NSException: 0x557fb42f1b70>
NAME:NSInvalidArgumentException REASON:Tried to add nil value for key
'localhost:5432:sogou:sogo' to dictionary INFO:{}
2026-01-05 15:06:00.328 sogod[3048044:3048044] EOAdaptor: cannot find
adaptor bundle: 'PostgreSQL'
Jan 05 15:06:00 sogod [3048044]: [ERROR] <0x0x557fb42f4870[WOWatchDog]> an
exception occured in runloop <NSException: 0x557fb42f1b70>
NAME:NSInvalidArgumentException REASON:Tried to add nil value for key
'localhost:5432:sogou:sogo' to dictionary INFO:{}
2026-01-05 15:06:00.338 sogod[3048045:3048045] EOAdaptor: cannot find
adaptor bundle: 'PostgreSQL'
Jan 05 15:06:00 sogod [3048045]: [ERROR] <0x0x557fb42f4870[WOWatchDog]> an
exception occured in runloop <NSException: 0x557fb42f1f60>
NAME:NSInvalidArgumentException REASON:Tried to add nil value for key
'localhost:5432:sogou:sogo' to dictionary INFO:{}
```
To get SOGo to work with PostgreSQL, I had to do:
apt install sope4.9-gdl1-postgresql
@qhivert - is this expected for everyone running the nightly builds?
I also realized that if I wanted to use LDAP, there's yet more to install.
All along, I used to just do 'apt install sogo sogo-activesync' and that
was all.
Anyway, after that, SOGo was able to populate the database in PostgreSQL:
postgres=# \c sogo
You are now connected to database "sogo" as user "postgres".
sogo=# \dt
List of relations
Schema | Name | Type | Owner
--------+------------------------+-------+-------
public | sogo_acl | table | sogou
public | sogo_admin | table | sogou
public | sogo_alarms_folder | table | sogou
public | sogo_cache_folder | table | sogou
public | sogo_folder_info | table | sogou
public | sogo_quick_appointment | table | sogou
public | sogo_quick_contact | table | sogou
public | sogo_sessions_folder | table | sogou
public | sogo_store | table | sogou
public | sogo_user_profile | table | sogou
(10 rows)
sogo=#
The above is still based on the sogo.conf that I shared.
IMPORTANT thing about PostgreSQL 15 and above:
https://www.cybertec-postgresql.com/en/error-permission-denied-schema-public/
So the process I used for DB creation is as follows:
sogo=# create database sogo
sogo=# create user sogou with encrypted password 'PASSWORD';
sogo=# grant all privileges on database sogo to sogou;
sogo=# \c sogo
sogo=# GRANT ALL ON SCHEMA public TO sogou;
sogo=# \q
My SOGo is working as expected - with its tables in PostgreSQL and user
authentication source in MariaDB.
Perhaps this helps @OliZ figure out something.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
In an Internet failure case, the #1 suspect is a constant: DNS.
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
[How to ask smart questions:
http://www.catb.org/~esr/faqs/smart-questions.html]