El jue, 23-09-2004 a las 01:15, Victor Sanchez2 escribió: > El jue, 23-09-2004 a las 00:45, sergio escribió: > > El Miércoles, 22 de Septiembre de 2004 20:47, Victor Sanchez2 escribió: > > > > > > Tal vez te falta hacer como usuario postgres un createuser y cuando te > > pregunte decirle que puede crear bases de datos. > > > > Espero que te funcione. > > > > > Estoy intentando crear una base de datos con mi usuario 'vs2'. He estado > > > viendo 1000 direcciones en internet y no he conseguido que ninguna me > > > aclare como hacerlo bien y la única que he encontrado hacía algo similar > > > a esto. Yo lo que estoy haciendo es: > > > > > > > > > [EMAIL PROTECTED]:~$ su > > > Password: > > > [EMAIL PROTECTED]:/home/vs2# su postgres > > > sh-3.00$ createdb mydb > > > CREATE DATABASE > > > sh-3.00$ exit > > > exit > > > [EMAIL PROTECTED]:/home/vs2# adduser vs2 postgres > > > El usuario `vs2' ya es un miembro de postgres. > > > [EMAIL PROTECTED]:/home/vs2# exit > > > exit > > > [EMAIL PROTECTED]:~$ createdb mydb2 > > > createdb: no se pudo conectar a la base de datos template1: > > > FATAL: no existe el usuario "vs2" > > > > > > > > > A ver si alguien me puede echar una mano para poder crear una base de > > > datos con 'vs2'. > > > > Sí, me faltaba eso para poder crearlas con vs2. Ahora tengo: > > [EMAIL PROTECTED]:~$ psql -l > Listado de base de datos > Nombre | Dueño | Codificación > -----------+----------+-------------- > mydb | postgres | SQL_ASCII > mydb2 | vs2 | SQL_ASCII > p | postgres | SQL_ASCII > template0 | postgres | SQL_ASCII > template1 | postgres | SQL_ASCII > (5 filas) > > al intentar entrar mediante tora o pgaccess siempre obtengo el error: > "connection to database failed FATAL: la autentificación IDENT falló > para el usuario vs2" > > Me intento conectar como: > vs2 > "contraseña" > puerto: 5432 (el que viene puesto por defecto) > localhost > database: mydb2 > > > He estado investigando y el problema puede venir del archivo > pg_hba.conf. > My archivo /etc/postgresql/pg_hba.conf es: > > # TYPE DATABASE USER IP-ADDRESS IP-MASK > METHOD > # Database administrative login by UNIX sockets > local all postgres > ident sameuser > # > # All other connections by UNIX sockets > local all all > ident sameuser > # > # All IPv4 connections from localhost > host all all 127.0.0.1 255.255.255.255 > ident sameuser > # > # All IPv6 localhost connections > host all all ::1 > ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ident sameuser > host all all ::ffff:127.0.0.1/128 > ident sameuser > # > # reject all other connection attempts > host all all 0.0.0.0 0.0.0.0 > reject > > > Voy a seguir investigando a ver si encuentro algo. > >
Un pequeño comentario (no sé si aclaratorio). Debes tener claro que una cosa es un usuario del sistema y otra un usuario de la base de datos. Esto confunde un poco al principio porque cuando se instala Postgres en Debian se incluye un usuario del sistema y otro de la base de datos, los dos con el nombre postgres. La línea: local all postgres ident sameuser permite conexiones locales de usuarios del sistema con el mismo nombre que usuarios de la base de datos y es la forma habitual de trabajar con psql. Sin embargo, programas como tora o pgaccess, no incluyen la posibilidad de autenticación mediante ident, por lo que es recomendable utilizar una de las opciones de password (crypt, md5, etc.). En ese caso debes modificar tu usuario vs2 en la base de datos y darle un password (cifrado o no) y poner el método correspondiente de acceso en una línea que comienze con host. Si es sólo para conexiones locales sería algo como: host all all 127.0.0.1 255.255.255.255 crypt (Prueba las distintas opciones p.q. en esta máquina no tengo ahora instalado Postgres y no estoy seguro de la opción exacta). Espero no haberme enrollado más de la cuenta ;) ...