servidor sabe postgres pg_hba inactivo encontrar editar dónde configurar configuración configuracion conf como archivo allow all postgresql authentication passwords ident

sabe - ¿Cómo inicio sesión y me autentico en Postgresql después de una nueva instalación?



postgres no sabe dónde encontrar el archivo de configuración del servidor (5)

Hizo una nueva instalación de postgres 8.4 en mint ubuntu. ¿Cómo creo un usuario para postgres e inicio de sesión usando psql?

Cuando escribo psql, simplemente me dice

psql: FATAL: Ident authentication failed for user "my-ubuntu-username"


El error que está obteniendo es porque su nombre de usuario de ubuntu no es un usuario válido de Postgres.

Debes decirle a psql qué nombre de usuario de la base de datos usar

psql -U postgres

Es posible que también deba especificar la base de datos para conectarse a

psql -U postgres -d <dbname>


Hay dos métodos que puede usar. Ambos requieren crear un usuario y una base de datos.

  1. Usando createuser y createdb ,

    $ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabase

  2. Usar los comandos de administración SQL y conectarse con una contraseña a través de TCP

    $ sudo -u postgres psql postgres

    Y, luego, en el shell psql

    CREATE ROLE myuser LOGIN PASSWORD ''mypass''; CREATE DATABASE mydatabase WITH OWNER = myuser;

    Entonces puedes iniciar sesión,

    $ psql -h localhost -d mydatabase -U myuser -p <port>

    Si no conoce el puerto, siempre puede obtenerlo ejecutando lo siguiente, como usuario de postgres ,

    SHOW port;

    O,

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf

Sidenote: el usuario postgres

Sugiero NO modificar al usuario de postgres .

  1. Normalmente está bloqueado desde el sistema operativo. Se supone que nadie debe "iniciar sesión" en el sistema operativo como postgres . Se supone que tienes root para poder autenticarte como postgres .
  2. Normalmente no está protegido con contraseña y se delega en el sistema operativo host. Esto es algo bueno Esto normalmente significa que para iniciar sesión como postgres que es el equivalente de PostgreSQL de la SA de SQL Server, debe tener acceso de escritura a los archivos de datos subyacentes. Y, eso significa que normalmente podrías causar estragos de todos modos.
  3. Al mantener esto desactivado, elimina el riesgo de un ataque de fuerza bruta a través de un superusuario nombrado. Ocultar y ocultar el nombre del superusuario tiene sus ventajas.

Si su cliente de base de datos se conecta con TCP / IP y tiene ident auth configurada en su pg_hba.conf, compruebe que tiene un identd instalado y en funcionamiento. Esto es obligatorio incluso si solo tiene clientes locales que se conectan a "localhost".

También tenga en cuenta que hoy en día el identd debe tener IPv6 habilitado para Postgresql para dar la bienvenida a los clientes que se conectan a localhost.


de manera predeterminada, necesitaría usar el usuario postgres:

sudo -u postgres psql postgres


también puede conectarse a la base de datos como usuario "normal" (no postgres):

postgres=# /connect opensim Opensim_Tester localhost; Password for user Opensim_Tester: You are now connected to database "opensim" as user "Opensim_Tester" on host "localhost" at port "5432"