Je sais que c'est vieux, mais cette question est très bien classée sur Google, et je préfère ma réponse :)
Collez un -i dans cette commande sudo - sudo ne change pas non plus la valeur de $HOME à moins que vous n'utilisiez la commande -i (qui simule un i
nitial login). Cela charge également le profil de l'utilisateur postgres, etc. Donc, ce que vous devez exécuter est :
sudo -i -u postgres psql postgres
C'est l'heure de la démo !
sauer@pyro:~$ sudo -u postgres sh -c 'echo $HOME'
/home/sauer
sauer@pyro:~$ sudo -i -u postgres sh -c 'echo $HOME'
/var/lib/postgresql
Les guillemets simples sont importants dans cet exemple, BTW. :)