Pregunta ¿Cuál es el nombre de usuario / contraseña de superusuario predeterminado para postgres después de una nueva instalación?


Acabo de instalar postgres 8.4 en Ubuntu 9.10 y nunca me ha pedido que cree un superusuario. ¿Hay un superusuario predeterminado y su contraseña? Si no es así, ¿cómo creo uno nuevo?


347
2018-02-06 04:54


origen


Probablemente muy relevante - "Estoy instalando PostgreSQL y no conozco la contraseña del usuario de Postgres". - Milen A. Radev


Respuestas:


PRECAUCIÓN La respuesta acerca de cambiar la contraseña de UNIX para "postgres" a través de "$ sudo passwd postgres" no es la preferida, e incluso puede ser PELIGROSO!

Por este motivo: de forma predeterminada, la cuenta de UNIX "postgres" está bloqueada, lo que significa que no se puede iniciar sesión con una contraseña. Si usa "sudo passwd postgres", la cuenta se desbloqueará inmediatamente. Peor aún, si establece la contraseña en algo débil, como "postgres", entonces está expuesto a un gran peligro de seguridad. Por ejemplo, hay una serie de robots que intentan el combo de nombre de usuario / contraseña "postgres / postgres" para iniciar sesión en su sistema UNIX.

Lo que debes hacer es seguir Chris Jamesrespuesta de

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

Para explicarlo un poco. Normalmente hay dos formas predeterminadas para iniciar sesión en el servidor PostgreSQL:

  1. Al ejecutar el comando "psql" como usuario de UNIX (denominado autenticación IDENT / PEER), por ejemplo: sudo -u postgres psql. Tenga en cuenta que sudo -u NO desbloquea al usuario de UNIX.

  2. por conexión TCP / IP usando el nombre de usuario / contraseña administrado por PostgreSQL (llamada autenticación TCP) (es decir, NO la contraseña de UNIX).

Vos tambien Nunca desea establecer la contraseña para la cuenta de UNIX "postgres". Dejarlo bloqueado como está por defecto.

Por supuesto, las cosas pueden cambiar si lo configura de manera diferente de la configuración predeterminada. Por ejemplo, uno podría sincronizar la contraseña de PostgreSQL con la contraseña de UNIX y solo permitir inicios de sesión locales. Eso estaría más allá del alcance de esta pregunta.


485
2017-10-28 06:25



Entonces, ¿cómo bloquear el usuario postgres de nuevo? - ultrajohn
@ultrajohn - depende de la distribución que use, pero puede editar / etc / passwd y poner * en lugar de la contraseña - lzap
/etc/shadow Es donde se guarda la contraseña @lzap. - Gringo Suave
Correcto, puede configurar / sbin / nologin en / etc / passwd o poner * en lugar de la contraseña en / etc / shadow. - lzap
passwd --lock postgres - Stéphane


Ingrese en la línea de comando:

$ sudo -u postgres psql postgres
postgres=# \password postgres

Verás:

Enter new password: 
Enter it again:

157
2018-03-16 15:39



Esto es lo que se necesita para utilizar una herramienta como pgadminIII (cuando se configura un perfil de servidor) inmediatamente después de instalar Postgres. ¡Gracias! - limist


Manipulas postgres a través del usuario. postgres, como tal

# su - postgres
$ createdb mydb
$ psql -s mydb
# create user someuser password 'somepassword';
# GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser;

58
2018-02-06 05:02



@ThierryLam Debes ser root para su al usuario de postgres sin introducir una contraseña. En la mayoría de los sistemas, la cuenta de Postgres Unix está bloqueada (no funcionará una contraseña), lo que significa solamente la raíz puede su a esa cuenta. - voretaq7
Utilizar sudo en lugar de su. - reinierpost
Tuve que correr sudo su - postgres : \ - Jim Schubert
@Jim Schubert: también puedes correr sudo -u postgres. - reinierpost
sudo -u postgres psql - funciona también para que pueda hacerlo en un solo paso. - Ominus


En Windows, haga lo siguiente (IMPORTANTE: use un Windows administrador cuenta):

  1. Después de la instalación, abra <PostgreSQL PATH>\data\pg_hba.conf.

  2. Modifique estas dos líneas y cambie "md5" a "trust":

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. Reinicie el servicio PostgreSQL (puede que no sea necesario).

  4. (Opcional) Abra un símbolo del sistema y cambie la página de códigos a 1252:

    cmd.exe /c chcp 1252

  5. Inicia sesión en PostgreSQL. No se necesitará contraseña (observe el parámetro en mayúscula -U):

    psql -U postgres

  6. (Opcional, recomendado por razones de seguridad) Cambiar el postgres contraseña del usuario:

    \password postgres

    y cambia "trust" de nuevo a "md5" en pg_hba.conf.


20
2017-11-18 19:25





Si está intentando acceder al shell de PostgreSQL, puede escribir:

psql -U postgres my_database

Dónde my_database es el nombre de su base de datos


5
2018-03-07 13:44