sudo -u postgres /usr/lib/postgresql/9.6/bin/postgres --single
postgres не знает, где найти файл конфигурации сервера.
Вы должны указать его расположение в параметре --config-file или -D, либо установить переменную окружения PGDATA.
sudo -u postgres /usr/lib/postgresql/9.6/bin/postgres --single postgres -D /var/lib/postgresql/9.6/main
postgres не может открыть файл конфигурации сервера "/var/lib/postgresql/9.6/main/postgresql.conf": Нет такого файла или каталога
который успешно сработает. Поэтому я и говорю, что принцип работы получается аналогичный.
Но допустим, что я ошибаюсь. В любом случае, то, что вы описываете, я уже пробовал:
1) Если без single, то сервер стартует, но подключится к нему невозможно, так как не существует пользователя postgres.
2) Если вместе с single, то сервер не стартует
Так как, все файлы в папке main/global - имеют размер размер 0 байт... Из-за этого и задача, как подключится к серверу, в котором заломана системная бд (которая наверное не решаема), остаётся придумать, как вытащить обычные бд...
P.S. Для /usr/lib/postgresql/9.6/bin/pg_ctl -D /var/lib/postgresql/9.6/main вывод будет - pg_ctl: команда не указана :-)