Something is trying to connect to your cluster, expecting ABCD to be available.
My bet is someone saved a misconfigured connection profile in a database client like DBeaver, DataGrip, pgAdmin and it's just checking it from time to time, or that somewhere in your codebase someone left an example line without modifying the dbname that ends up in a connection string. There could also be a test case or rarely used code path doing something else and simply ignoring the failed connection attempt.
demo at db<>fiddle
select pg_rotate_logfile();
create extension dblink;
select dblink_connect('','dbname=ABCD');
ERROR: could not establish connection
DETAIL: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed:
FATAL: database "ABCD" does not exist
create function readlog()returns text return
pg_read_file('log/'||(array(select (pg_ls_logdir()).name order by 1 desc))[1]);
select readlog();
| readlog |
2026-02-28 10:00:08.099 GMT [791] FATAL: database "ABCD" does not exist 2026-02-28 10:00:08.101 GMT [790] ERROR: could not establish connection 2026-02-28 10:00:08.101 GMT [790] DETAIL: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: database "ABCD" does not exist 2026-02-28 10:00:08.101 GMT [790] STATEMENT: select dblink_connect('','dbname=ABCD');
|
Ask other users of the database about dead connection profiles and grep your repo for this ABCD.