
Estoy usando Ubuntu 14.04. Cuando inicio sesión como root, intento ejecutar un comando como otro (postgres). Sin embargo, está fallando
root@remotebox:/home/rails/myproject# su - postgres 'pg_upgradecluster 9.3 main'
-su: pg_upgradecluster 9.3 main: No such file or directory
¿Qué estoy haciendo mal?
Respuesta1
Estás intentando pasar 'pg_upgradecluster 9.3 main'
al shell predeterminado para el usuario de Postgres. Dependiendo de la configuración del usuario de Postgres, esto puede significar ejecutar 'pg_upgradecluster 9.3 main'
el archivo en la RUTA de Postgres, y esta es la razón por la que aparece el mensaje "No existe tal archivo o directorio".
Intente pasar el argumento como un comando (-c):
su - postgres -c 'pg_upgradecluster 9.3 main'
como una concha:
su - postgres -s /path/to/pg_upgradecluster -- 9.3 main
o para elegir explícitamente el shell:
su - postgres -s /bin/bash -- -c 'pg_upgradecluster 9.3 main'