Restaurar una base de datos posgreSQL desde el terminal



Restaurar una base de datos postgreSQL en un fichero .sql desde el terminal de Linux, os dejo la linea que tenéis que utilizar desde el terminal

psql -U USERNAME -d database_name -f backup_file.sql

Hay que tener en cuenta los permisos con que esto se ejecuta desde el terminal.

Por ejemplo, si en el fichero /etc/postgresql/14/main/pg_hba.conf (el 14 es el número de versión, cada cual la suya), en este fichero tenéis que mirar los permisos que tiene el usuario con que ejecutáis el restore (el que va detrás de -U).

Por defecto, la primera linea de ese fichero la tendréis así:

local all postgres peer

Y seguramente al ejecutar el restore os de este error:

psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "postgres"

Cambiar el valor de peer por md5 en este caso os pedirá el password cuando ejecutéis el restore o poner trust y no pedirá password.

Y con esto amigos, feliz programming ...
Saludos
Alex.