¿Cómo conectar Postgres al servidor localhost usando pgAdmin en Ubuntu?

102

Instalé Postgres con este comando

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

Usando psql --versionen la terminal obtengopsql (PostgreSQL) 9.3.4

luego instalé pgadmincon

sudo apt-get install pgadmin3

Luego abrí la UI y creé el servidor con esta información

ingrese la descripción de la imagen aquí

pero este error aparece

ingrese la descripción de la imagen aquí

¿Cómo puedo arreglarlo?

TuGordoBello
fuente
descargue postgresql de v9.3 desde este enlace https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows y nuevamente ejecute pgadmin III obtendrá el host local que ya está instalado no necesita conectarse.
Dhavalkumar Prajapati

Respuestas:

29

No ha creado un usuario db. Si es solo una instalación nueva, el usuario predeterminado es postgresy la contraseña debe estar en blanco. Después de acceder a él, puede crear los usuarios que necesite.

Eric Workman
fuente
43
Si hago eso, aparece este error Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello
Aquí, en opensuse, la contraseña de usuario de postgres no está en blanco, sino indefinida (un signo de exclamación en / etc / shadow). No es posible iniciar sesión con contraseña.
Str.
Solo probado para verificar, y sí, Pg se emite password authentication failedpara un usuario que no existe cuando se usa md5auth.
Craig Ringer
1
¿cómo se crea un usuario?
ahnbizcad
2
"Error al conectarse al servidor: fe_sendauth: no se proporcionó contraseña"
Cerin
174

Modificar la contraseña para el rol postgres:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

Ahora conéctese a pgadmin usando el nombre de usuario postgres y la contraseña postgres

Ahora puede crear roles y bases de datos usando pgAdmin

¿Cómo cambiar la contraseña de usuario de PostgreSQL?

WiredIn
fuente
10
o puede simplemente .. 'sudo -u postgres psql' y luego escribir '\ contraseña'. Pulsa Enter. ingrese nueva clave.
Jay Modi
1
Esta debe ser una respuesta aceptada. Gracias. Esto ayudó mucho.
Pramesh Bajracharya
25

Me ayuda:


1. Abra el archivo pg_hba.conf

sudo nano /etc/postgresql/9.x/main/pg_hba.conf

y cambia esta línea:

Database administrative login by Unix domain socket
local   all             postgres                                md5

a

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. Reiniciar el servidor

    reinicio de postgresql del servicio sudo

  2. Inicie sesión en psql y configure la contraseña

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. Vuelva a abrir el archivo pg_hba.conf y cambie esta línea:
Inicio de sesión administrativo de la base de datos por socket de dominio Unix
    local todos los postgres confían

a

    Inicio de sesión administrativo de la base de datos por socket de dominio Unix
    local todos postgres md5
  1. Reiniciar el servidor

    reinicio de postgresql del servicio sudo


Funciona.

ingrese la descripción de la imagen aquí


Enlaces útiles
1: PostgreSQL (de ubuntu.com)

Artem Solovev
fuente
Esto resolvió mi problema, pero ¿puede explicar por qué en algunos casos es necesario cambiar el inicio de sesión del administrador de db a confiar antes de establecer la contraseña de postgres?
HostMyBus
@HostMyBus Hola hombre, en realidad no recuerdo en absoluto este caso. Intente buscar algunas respuestas en la web (creo que hay una buena explicación al respecto)
Artem Solovev
@HostMyBus esta es una característica de seguridad. Si está configurado para confiar, cualquier usuario de la máquina puede iniciar sesión en la base de datos.
Simon Zyx
Y en realidad no lo necesita: solo use la respuesta de WiredIn
Simon Zyx
4

Primero cree un usuario. Debe hacer esto como usuario postgres. Debido a que la cuenta del sistema de Postgres no tiene una contraseña asignada, puede establecer una contraseña primero o hacer lo siguiente:

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

y el programa le indicará.

Str.
fuente
sudo -u postgres -idará lugar a una pregunta sobre la contraseña. No hay contraseña en mi sistema que pueda ingresar. Mi propuesta siempre funciona (hm, con suerte).
Str.
sudo -u postgress -ino conduce a una pregunta sobre la contraseña (al menos en mi Ubuntu después de la instalación predeterminada). O createuser --interactiveno conduce a la solicitud de contraseña ... :(
Ondřej Doněk
@ OndřejDoněk mi propuesta fue sudo / bin / bash primero, ¿hiciste eso?
Str.
¿Qué debe escribir para el rol?
ahnbizcad
$ createuser --interactive Ingrese el nombre del rol a agregar: postgres ¿El nuevo rol será un superusuario? (s / n)y
Elise Chant
2

Primero debes cambiar la contraseña usando el terminal. (el nombre de usuario es postgres)

postgres = # \ contraseña postgres

Luego se le pedirá que ingrese la contraseña y la confirme.

Ahora podrá conectarse usando pgadmin con la nueva contraseña.

Pubudu
fuente
0

si abre la psqlconsola en una ventana de terminal, escribiendo

PS psql

su nombre de usuario de superusuario se mostrará antes de =#, por ejemplo:

elisechant=#PS

Ese será el nombre de usuario que debe usar para localhost.

Elise Chant
fuente