Tanja Savic <tanja.savic@crossmasters.com> writes:
> The configuration file path is /etc/postgresql/12/main/ postgresql.conf and it is configured in
/var/lib/postgresql/12/main/postmaster.opts:
> "/usr/lib/postgresql/12/bin/postgres "-D" "/var/lib/postgresql/12/main" "-c"
"config_file=/etc/postgresql/12/main/postgresql.conf"
> Why does pg_ctl complains about the postgresql.conf path?
I don't remember the exact interaction between -D and an explicit
config_file setting, but evidently it's not working the way you wish.
See
https://www.postgresql.org/docs/current/runtime-config-file-locations.html
which suggests that you should use -D to point at the directory where
postgresql.conf is, and set the data directory with a parameter within
postgresql.conf.
(Note that pg_ctl probably only understands this way, even though
theoretically the postmaster can deal with other approaches to
setting up an external config file.)
regards, tom lane