Right after booting Debian server I get this error:

[ASSERT] Assertion failed for PostgreSQL Cluster 14.

[ASSERT] assertion failed for postgresql cluster 14

my PostgreSQL is active (I checked this by this command: systemctl status [email protected])

enter image description here

I googled and find this post: Failed to start PostgreSQL Cluster 10-main when booting but everything was fine with me:

enter image description here

and I googled more but couldn't find anything that work for me.

  • 1
    Welcome to the site. Please don't post screenshots of console output. They are often difficult to read, the content will not show up in search engine results, and contributors trying to help will have to type-copy content when trying to analyze/reproduce your problem. Instead, paste it into the question using code formatting.
    – AdminBee
    Aug 29, 2022 at 12:13

3 Answers 3


You should check path to your cluster configuration file, for proper permissions

$ ls -l /etc/postgresql/14/main/postgresql.conf
-rw-r--r-- 1 postgres postgres 1005 Oct  3 16:07 /etc/postgresql/14/main/postgresql.conf

On Debian the systemd service unit /lib/systemd/system/[email protected] contains following:

Description=PostgreSQL Cluster %i
RequiresMountsFor=/etc/postgresql/%I /var/lib/postgresql/%I

Basicaly the error message tells you that /etc/postgresql/%I/postgresql.conf can't be found. %I should be interpolated to 14/main, thus systemd has troubles reading /etc/postgresql/14/main/postgresql.conf file.

  • and when you have a cluster with a dash "-" in the name.. then all SystemD hell breaks loose on that line :D yes, changing the dash to an underscore fixed it Perhaps I should log a bug against Debian to moan at the upstream? 0_o
    – Hvisage
    Mar 31, 2023 at 16:55

In my case the error "Assertion failed on job for [email protected]." was due to trying to start the wrong service name (postgresql@14): When I use the correct name (postgresql@14-main) it works as expected. Maybe you enabled the wrong service to start at boot.


I have this ultimate hate relationship with SystemD - several tickets opened against it that Lennard Poetering just shrug on and and....

That said: The problem i MY case was the freaking name it seems: client-pg15-01 the SystemD does substitutions etc. etc. on service names and filenames when it sees spaces dashes etc. and there are horrific rules (yes I'm exasperating as it's annoying for a server operator compared to a desktop/laptop jockey) so the long winded answer is to not confuse the regular expressions for this, and rather give simple names like clientnamepg15number01 without any thing that can confuse the services names

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .