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.
Usando createuser y createdb ,
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabase
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
.
- 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 comopostgres
. - 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 laSA
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. - 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"