AYuda con postgres

408 views
Skip to first unread message

felipe armijo

unread,
Sep 1, 2007, 3:02:11 PM9/1/07
to linuxc...@googlegroups.com
Holas me podrian ayudar con esto porfavor , instale postgres luego vi unos tutoriales de configuracion y cosas asi en google, el problema que en una de las cosas que hize le cambie la contraseña al usuario postgres y sin duda fue sin darme cuenta por que no fue una contraseña tipica que uso , hay alguna forma de crear otro super usuario para postgres o algo asi para poder usarlo he buscado tutoriales pero no encuentro , lo desintale y lo instale denuevo con apt-get pero esa contraseña vieja sigue hay ...:(

--
Felipe Adolfo Armijo Lagos
Ingeniería en computación e informática

Rodrigo Fuentealba

unread,
Sep 1, 2007, 3:10:51 PM9/1/07
to linuxc...@googlegroups.com
El 1/09/07, felipe armijo <far...@gmail.com> escribió:

> Holas me podrian ayudar con esto porfavor , instale postgres luego vi unos
> tutoriales de configuracion y cosas asi en google, el problema que en una de
> las cosas que hize le cambie la contraseña al usuario postgres y sin duda
> fue sin darme cuenta por que no fue una contraseña tipica que uso

Los tutoriales de configuración son lo más malo que hay. Si hubieras
ido a la documentación interactiva de PostgreSQL, te habrían dado un
repaso sobre para qué sirve cada archivo.

> hay alguna forma de crear otro super usuario para postgres o algo asi para poder
> usarlo he buscado tutoriales pero no encuentro , lo desintale y lo instale
> denuevo con apt-get pero esa contraseña vieja sigue hay ...:(

Claro, no era necesario desinstalar e instalar de nuevo. Lo único que
debes hacer es buscar el archivo pg_hba.conf (no dijiste en qué
distribución estabas, lo siento por no darte la ubicación exacta) y
escribir lo siguiente en la primera línea.

local postgres postgres trust

Donde local es el tipo de conexión, postgres es la base de datos a
conectarte, postgres es el nombre de usuario y trust es la acción a
realizar con la base de datos (trusted connections = no requiere
password).

Una vez reiniciado el servidor, puedes conectarte como el usuario
postgres desde tu equipo y cambiar la password a una de las típicas
que usas.

Eso es todo, nos vemos.

--
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas - Consultor UNIX - Database Administrator

felipe armijo

unread,
Sep 1, 2007, 3:11:54 PM9/1/07
to linuxc...@googlegroups.com


El día 1/09/07, felipe armijo <far...@gmail.com> escribió:
Holas me podrian ayudar con esto porfavor , instale postgres luego vi unos tutoriales de configuracion y cosas asi en google, el problema que en una de las cosas que hize le cambie la contraseña al usuario postgres y sin duda fue sin darme cuenta por que no fue una contraseña tipica que uso , hay alguna forma de crear otro super usuario para postgres o algo asi para poder usarlo he buscado tutoriales pero no encuentro , lo desintale y lo instale denuevo con apt-get pero esa contraseña vieja sigue hay ...:(



para ser mas especifico cuando hago su postgres y pongo una contraseña resulta y entra pero luego no me permite hacer nada ni crear usuarios ni nada por que al intentar hacerlo me pide una contraseña que no es la misma que utilizo al principio :(..

su postgres
Password:
postgres@airness23:/home/airness23$ create

postgres@airness23:/home/airness23$ createuser farmijo
¿Será el nuevo rol un superusuario? (s/n) s
Contraseña:
createuser: no se pudo conectar a la base de datos postgres: FATAL:  la autentificación «password» falló para el usuario «postgres»

Rodrigo Fuentealba

unread,
Sep 1, 2007, 3:23:57 PM9/1/07
to linuxc...@googlegroups.com
El 1/09/07, felipe armijo <far...@gmail.com> escribió:

>
> para ser mas especifico cuando hago su postgres y pongo una contraseña
> resulta y entra pero luego no me permite hacer nada ni crear usuarios ni
> nada por que al intentar hacerlo me pide una contraseña que no es la misma
> que utilizo al principio :(..

El usuario postgres es un usuario de sistema, al cual NO debes
asignarle una password por el simple hecho de que no debes permitir
que nadie ingrese al sistema con una cuenta tan delicada como esa. Ve
y edita el archivo /etc/shadow y borra la password encriptada, y ponle
un !!, algo así:

postgres:!!:13593::::::

> su postgres
> Password:
> postgres@airness23:/home/airness23$ create

¿cómo cambiaste tu contraseña?

> postgres@airness23:/home/airness23$ createuser farmijo

te falta el -U postgres -W

felipe armijo

unread,
Sep 1, 2007, 6:07:00 PM9/1/07
to linuxc...@googlegroups.com
. Ve
y edita el archivo /etc/shadow y borra la password encriptada, y ponle
un !!, algo así:

postgres:!!:13593::::::

hice eso
pero ahora cuando hago > su postgres de todas formas me pide una contraseña ..:( y ahora no puedo hacer nada
(uso ubuntu)

> su postgres
> Password:
> postgres@airness23:/home/airness23$ create

¿cómo cambiaste tu contraseña?

no recuerdo como cambie la contraseña
 

Rodrigo Fuentealba

unread,
Sep 2, 2007, 4:42:48 AM9/2/07
to felipe armijo, linuxc...@googlegroups.com
El 1/09/07, felipe armijo <far...@gmail.com> escribió:
> Hola hice lo que me dijiste
>
> edite /etc/shadow pero cuando hago su postgres me pide otra contraseña y no
> puedo entrar
>
> esta linea tenia mi archivo
> postgres:$1$3Gdc5rJz$bUpmKpCWME3wz8sYTFB0D.:13757:0:99999:7:::
>

debe quedar como postgres:!!:13757:0:99999:7:::

> y la cambie por la que dijiste..
>
> ahora si dejo esa linea que esta arriba
> al hacer su postgres puedo ingresar

Pero como usuario. La idea es que hagas lo siguiente:

su root
Password: *****

[root@test] # su - postgres

ahí ya no te pedirá password, y así deberá quedar.

> pero al intentar crear el usuario
>
> sucede eso...ojala puedas ayudarme he buscado en la web todo el dia para
> solucionar mi problema..:(..
>
> segun uno de los tutoriales que segui cuando estaba instalando modifique
> este archivo me podes enviar el tuyo para ver que pasa?? un archivo que se
> abre al hacer
>
> su gvim
>
> postgres@airness23:/home/airness23$ createuser farmijo -U postgres -W
>

Al archivo pg_hba.conf en la primera línea:

local all all trust

reinicias el servidor y deberías conectarte con

psql -U postgres

y salirte algo como:

psql>

Me tinca que tienes deshabilitado el socket y no hay un archivo
/var/run/postgresql/.s.PGSQL.5432

> Contraseña:
> createuser: no se pudo conectar a la base de datos postgres: could not
> connect to server: No existe el fichero ó directorio
> Is the server running locally and accepting
> connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?

Mañana te doy más detalles. Ahora estoy con un poco de resaca.

Rodrigo Fuentealba

unread,
Sep 2, 2007, 11:50:23 PM9/2/07
to felipe armijo, linuxc...@googlegroups.com
El día 2/09/07, felipe armijo <far...@gmail.com> escribió:

El día 2/09/07, Rodrigo Fuentealba <dark...@gmail.com > escribió:
Me tinca que tienes deshabilitado el socket y no hay un archivo
/var/run/postgresql/.s.PGSQL.5432
TIenes razon no existe ese archivo , lo anterior soluciono lo del pass :)

Si aún no puedes usar PostgreSQL, búscalo, puede que esté en /tmp (nota, estoy respondiéndote con copia a la lista).

Como root, ejecuta lo siguiente:

# locate .s.PGSQL

Si te sale algo como (es un ejemplo):

/tmp/.s.PGSQL.5432

es que el socket de conexión (socket: tipo de archivo especial, que sirve para conectar varios procesos entre sí.) está en otro lugar, por lo tanto podrás solucionar tu drama utilizando el comando siguiente:

# ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

(si no existe el directorio /var/run/postgresql, debes crearlo antes).

Nota: eso es sólo para diagnóstico. La idea es que una vez que encuentres que funciona, edites correctamente el fichero de configuración postgresql.conf (en el mismo directorio de tu pg_hba.conf) y cambies el valor siguiente:

unix_socket_directory = '/var/run/postgresql'

Con eso, tendrás PostgreSQL. (Nótese: en Ubuntu y Debian nunca he podido hacer correr un PostgreSQL decentemente a la primera, es típico que el socket apunta a cualquier parte menos al lugar donde debiera...)

Atentamente,

felipe armijo

unread,
Sep 3, 2007, 12:32:46 AM9/3/07
to linuxc...@googlegroups.com
El día 2/09/07, Rodrigo Fuentealba <dark...@gmail.com> escribió:
El día 2/09/07, felipe armijo <far...@gmail.com> escribió:

El día 2/09/07, Rodrigo Fuentealba < dark...@gmail.com > escribió:
Me tinca que tienes deshabilitado el socket y no hay un archivo
/var/run/postgresql/.s.PGSQL.5432
TIenes razon no existe ese archivo , lo anterior soluciono lo del pass :)

Si aún no puedes usar PostgreSQL, búscalo, puede que esté en /tmp (nota, estoy respondiéndote con copia a la lista).

Como root, ejecuta lo siguiente:

# locate .s.PGSQL

hice eso pero no aparece en ningun lugar ese archivo antes actualize la bd con
 updatedb
 
encontre los archivos de configuracion  pero la parte que dice unix socket apunta a un lugar que no existe, si no aparece ese socket en mi sistema que puedo hacer??

Si te sale algo como (es un ejemplo):

/tmp/.s.PGSQL.5432

es que el socket de conexión (socket: tipo de archivo especial, que sirve para conectar varios procesos entre sí.) está en otro lugar, por lo tanto podrás solucionar tu drama utilizando el comando siguiente:

# ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

(si no existe el directorio /var/run/postgresql, debes crearlo antes).

Nota: eso es sólo para diagnóstico. La idea es que una vez que encuentres que funciona, edites correctamente el fichero de configuración postgresql.conf (en el mismo directorio de tu pg_hba.conf) y cambies el valor siguiente:

unix_socket_directory = '/var/run/postgresql'

Con eso, tendrás PostgreSQL. (Nótese: en Ubuntu y Debian nunca he podido hacer correr un PostgreSQL decentemente a la primera, es típico que el socket apunta a cualquier parte menos al lugar donde debiera...)

Atentamente,

--

Rodrigo Fuentealba Cartes
Desarrollador de Sistemas - Consultor UNIX - Database Administrator

Rodrigo Fuentealba

unread,
Sep 3, 2007, 1:08:53 AM9/3/07
to linuxc...@googlegroups.com
El día 3/09/07, felipe armijo <far...@gmail.com> escribió:

>
> El día 2/09/07, Rodrigo Fuentealba <dark...@gmail.com> escribió:
> > El día 2/09/07, felipe armijo <far...@gmail.com> escribió:
> >
> > >
> > >
> > > El día 2/09/07, Rodrigo Fuentealba < dark...@gmail.com > escribió:
> > >
> > > > Me tinca que tienes deshabilitado el socket y no hay un archivo
> > > > /var/run/postgresql/.s.PGSQL.5432
> > >
> > > TIenes razon no existe ese archivo , lo anterior soluciono lo del pass :)
> >
> >
> > Si aún no puedes usar PostgreSQL, búscalo, puede que esté en /tmp (nota, estoy respondiéndote con copia a la lista).
> >
> > Como root, ejecuta lo siguiente:
> >
> > # locate .s.PGSQL
>
>
> hice eso pero no aparece en ningun lugar ese archivo antes actualize la bd con
> updatedb

¿Tienes PostgreSQL corriendo? Si puedes, trata con:

psql -U postgres -h 127.0.0.1

> encontre los archivos de configuracion pero la parte que dice unix socket apunta
> a un lugar que no existe, si no aparece ese socket en mi sistema que puedo hacer??

mkdir /var/run/postgresql
luego apunta unix_socket_directory a /var/run/postgresql/ y reinicia PostgreSQL.

felipe armijo

unread,
Sep 3, 2007, 3:10:30 PM9/3/07
to linuxc...@googlegroups.com


El día 3/09/07, Rodrigo Fuentealba <dark...@gmail.com> escribió:

El día 3/09/07, felipe armijo <far...@gmail.com> escribió:
>
> El día 2/09/07, Rodrigo Fuentealba <dark...@gmail.com > escribió:
> >  El día 2/09/07, felipe armijo <far...@gmail.com> escribió:
> >
> > >
> > >
> > > El día 2/09/07, Rodrigo Fuentealba < dark...@gmail.com > escribió:
> > >
> > > > Me tinca que tienes deshabilitado el socket y no hay un archivo
> > > > /var/run/postgresql/.s.PGSQL.5432
> > >
> > > TIenes razon no existe ese archivo , lo anterior soluciono lo del pass :)
> >
> >
> > Si aún no puedes usar PostgreSQL, búscalo, puede que esté en /tmp (nota, estoy respondiéndote con copia a la lista).
> >
> > Como root, ejecuta lo siguiente:
> >
> > # locate .s.PGSQL
>
>
> hice eso pero no aparece en ningun lugar ese archivo antes actualize la bd con
>  updatedb

¿Tienes PostgreSQL corriendo? Si puedes, trata con:

psql -U postgres -h 127.0.0.1

> encontre los archivos de configuracion  pero la parte que dice unix socket apunta
> a un lugar que no existe, si no aparece ese socket en mi sistema que puedo hacer??

Al hacer eso  

mkdir /var/run/postgresql
luego apunta unix_socket_directory a /var/run/postgresql/ y reinicia PostgreSQL.
sudo ./postgresql-8.2 start

lanzaba un error asi

The PostgreSQL server failed to start. Please check the log output:
2007-09-03 14:42:56 CLT LOG:  no se pudo cargar el archivo del certificado ra�z �root.crt�: sin error SSL reportado
2007-09-03 14:42:56 CLT DETALLE:  Los certificados de clientes no se verificar�n.
2007-09-03 14:42:56 CLT FATAL:  no se pudo crear el archivo de bloqueo �/var/run/postgresql/.s.PGSQL.5432.lock�: Permiso denegado
                        

luego busque en google el error y encontre esto


sudo /etc/init.d/postgresql-8.2 start

But if you are trying a to run an instance of the PostgreSQL server
owned by your local user, you need to ensure that the unix socket
directory is writable by the user that owns the PostgreSQL server
process. Try:

unix_socket_directory='/tmp
cambie la configuracion y funciono :)....
ahora puedo crear usuarios y bd :) gracias por tu tiempo



--
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas - Consultor UNIX - Database Administrator



Rodrigo Fuentealba

unread,
Sep 3, 2007, 3:24:29 PM9/3/07
to linuxc...@googlegroups.com
El 3/09/07, felipe armijo <far...@gmail.com> escribió:

> unix_socket_directory='/tmp
> cambie la configuracion y funciono :)....
> ahora puedo crear usuarios y bd :) gracias por tu tiempo

¿Estás usando PostgreSQL compilado por tí o el de la distribución?
Debes dar más información cuando preguntes.

--
Rodrigo Fuentealba

felipe armijo

unread,
Sep 3, 2007, 3:29:02 PM9/3/07
to linuxc...@googlegroups.com
El día 3/09/07, Rodrigo Fuentealba <dark...@gmail.com> escribió:
¿Estás usando PostgreSQL compilado por tí o el de la distribución?
Debes dar más información cuando preguntes.
 
Estoy usando uno que descarge con apt-get postgresSQL-8.2

 

--
Rodrigo Fuentealba

Rodrigo Fuentealba

unread,
Sep 3, 2007, 3:34:02 PM9/3/07
to linuxc...@googlegroups.com
El 3/09/07, felipe armijo <far...@gmail.com> escribió:
>

Ah, bueno... Dime qué distribución es para /no/ usarla ;-P.

En serio ahora, cosas así a veces entorpecen el hecho de levantar
rápido un servidor, porque no me acordé de qué workaround le hacía
para tal cosa. En concreto, no recomiendo ni Debian ni Ubuntu con
PostgreSQL. Slackware no lo trae (pero Ken Zalewski es bueno
empaquetando, no van a tener problemas) y CentOS lo trae, al menos al
momento de este mail una versión más antigua (8.1).

Eso no más, felicidades por haberlo corregido

Saludos cordiales,

Reply all
Reply to author
Forward
0 new messages