Solución:
Cuando usa:
sudo -u postgres psql my_db
ejecutas psql como usuario (Linux) postgres
, por lo tanto el .psql_history
El archivo está en el directorio de inicio del usuario de Postgres (p. ej. /home/postgres/.psql_history
), no en el directorio de inicio del usuario con el que inició sesión originalmente.
En algunas instalaciones, la ubicación del postgres
el directorio de inicio del usuario es /var/lib/postgresql
. Puede verificar esto ejecutando:
grep postgres /etc/passwd | cut -d ':' -f 6
El nombre del archivo viene dado por una variable interna llamada HISTFILE
. Técnicamente no tiene por qué ser ~/.psql_history.
Comprobar el ~/.psqlrc
archivo para una configuración alternativa. Por ejemplo, podría ser:
set HISTFILE ~ / .psql_history-: DBNAME
como se menciona en el manual para un archivo de historial por base de datos.