En primer lugar, es importante entender que para la mayoría de las distribuciones Unix, el usuario predeterminado de Postgres no requiere ni utiliza una contraseña para la autenticación. En su lugar, dependiendo de cómo se instaló Postgres originalmente y qué versión está utilizando, el método de autenticación predeterminado será ident
o peer
.,
ident
la autenticación utiliza el servidor de identificación del sistema operativo que se ejecuta en el puerto TCP 113 para verificar las credenciales del usuario.
peer
la autenticación por otro lado, se usa para conexiones locales y verifica que el nombre de usuario registrado del sistema operativo coincida con el nombre de usuario de la base de datos Postgres.
Iniciar sesión y conectarse como usuario predeterminado
para la mayoría de los sistemas, el usuario predeterminado de Postgres es postgres
y no se requiere una contraseña para la autenticación., Por lo tanto, para agregar una contraseña, primero debemos iniciar sesión y conectarnos como el usuario postgres
.
$ sudo -u postgres psql
Si usted ha conectado correctamente y que está viendo el psql
símbolo del sistema, salte a la modificación de la Contraseña de la sección.
si ha recibido un error que indica que la base de datos «postgres» no existe, intente conectarse a la base de datos template1
y si tiene éxito, continúe cambiando la contraseña.,
$ sudo -u postgres psql template1
Error de Autenticación
Si usted recibe un error de autenticación al intentar conectar con el psql
cliente, puede que necesite modificar el Postgres autenticación archivo de configuración (pg_hfa.conf).
Abra el archivo de configuración, normalmente se encuentra en el /etc/postgresql/#.#/main/pg_hba.conf
, donde #.#
es la versión de Postgres utiliza:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
El auth archivo de configuración es una lista de reglas de autenticación., Desplácese por el archivo hasta que localice la primera línea que muestra el usuario postgres
en la tercera columna (si existe tal línea). Descomente la línea si es necesario (elimine el punto y coma), o de lo contrario si la línea falta por completo, agregue la siguiente línea a la parte superior del archivo y guarde los cambios:
local all postgres peer
Esta regla de autenticación simplemente le dice a Postgres que para las conexiones locales establecidas a todas las bases de datos para el usuario postgres
, autenticar usando el protocolo peer
.,
Nota: Algunas versiones anteriores de Postgres prefieren el método de autenticación predeterminado de ident, pero la mayoría de las instalaciones modernas utilizarán peer como se especifica anteriormente en su lugar. Es posible que tenga que hacer ambas pruebas si sus resultados difieren.
ahora con su archivo de configuración actualizado, repita los pasos en la sección Iniciar sesión y conectarse como usuario predeterminado para intentar conectarse como usuario predeterminado postgres
. Una vez que tenga éxito, proceda con el cambio de la contraseña.,
Cambiar la Contraseña
Con una conexión ya establecida para Postgres en el psql
símbolo del sistema, ejecute el ALTER USER
comando para cambiar la contraseña para el postgres
usuario:
postgres=# ALTER USER postgres PASSWORD 'myPassword';ALTER ROLE
Si tiene éxito, Postgres emitirá una confirmación de ALTER ROLE
como se ha visto anteriormente.
finalmente, salga del cliente psql
usando el comando \q
.
postgres=# \q
ya está todo hecho., El usuario predeterminado postgres
ahora tiene una contraseña asociada con la cuenta para usarla en sus otras aplicaciones.