LiNpOx

Linux y Windows para informáticos

Instalar PostgreSQL y pgAdmin en Ubuntu

Posted by oftc007 en 10 abril 2008

Vamos a aprender como instalar el manejador de base de datos postgres, asi como tambien la herramienta grafica pgAdmin, que nos permite gestionar de manera sencilla nuestras bases de datos.

Primero necesitamo instalar los siguientes paquetes, ya sea desde consola o el gestor de paquetes Synaptic:

  • postgresql.
  • pgadmin3.

Luego que tenemos los paquetes instalador lo primero que necesitamos hacer es crear nuestro usuario en postgres, para hacerlo, en un terminal ejecutamos los comandos:

sudo bash

su postgres

createuser oftc007

El nombre de usuario “oftc007” es para efectos de ejemplo, pero ustedes colocan el nombre de usuario que quieran. Luego que ejecutemos el comando nos aparece el siguiente mensaje en el terminal:

¿Será el nuevo rol un superusuario? (s/n)

Escribimos una S y damos en enter. El terminal debe devolver “CREATE ROLE” si el usuario fue creado correctamente.

Luego que tenemos un usuario creado, vamos a crear una base de datos llamada “prueba”, para hacerlo en un terminal ejecutamos:

createdb prueba

La consola devuelve “CREATE DATABASE” si la base de datos fue creada correctamente.

Para entrar a nuestra base escribimos:

psql prueba

En nuestro caso “prueba” es el nombre de la base de datos. La salida de este comando es algo como lo siguiente:

Bienvenido a psql 8.2.6, la terminal interactiva de PostgreSQL.

Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir

prueba=#

Esto nos indica que estamos dentro de nuestra base de datos, por lo cual ya podemos ejecutar cualquier comando SQL en nuestra BD. Por razones de seguridad vamos a cambiar el password de nuestro usuario, para eso ejecutamos el siguiente comando dentro de nuestra BD:

alter user oftc007 with password ‘password’;

Donde deben reemplazar “oftc007” por su nombre de usuario y las palabra “password” que se encuentra dentro de las comillas simples por la clave que desean para su cuenta. Es importante saber que la clave siempre debe ir dentro de comillas simple, y se debe colocar un punto y coma al final del comando para que pueda ser ejecutado una vez que damos en enter. Si el comando se ejecuto correctamente la consola nos devuelve “ALTER ROLE”.

El comando para salir de nuestra base de datos es:

\q

Ahora vamos a ver nuestra base de datos desde pgAdmin y aprender cosas basicas de su uso y algunas de sus configuraciones.

Para ejecutar pgAdmin en la barra del menu del panel vamos a:

Aplicaciones -> Herramientas del sistema -> pgAdmin III

Lo primero es revisar si tenemos el pgAdmin en español, si lo tenemos en ingles, vamos a:

File -> Options..

En “User language” seleccionamos “(es_ES) Spanish” y hacemos click en “Ok”. Nos aparece un mensaje, le damos en aceptar y reiniciamos el pgAdmin.

Ahora para conectarnos a nuestra base de datos vamos a:

Archivo -> Añadir Servidor…

Nos aparece una ventana en la cual necesitamos rellenar unos campos, vamos a explicar lo que debemos colocar en cada uno:

  • Dirección: Aqui colocamos el servidor donde se encuentra la Base de Datos, en nuestro caso como estamos trabajando de manera local colocamos “localhos” (sin comillas). En caso de querer conectarnos a una Base de Datos en otro equipo, en este campo debemos colocar la direccion IP del computador donde esta la base de datos.
  • Descripción: Aqui colocaremos el nombre de la conexion, aqui pondremos el nombre de nuestro gusto. Por ejemplo: Mis Bases de Datos.
  • Servicio/Puerto/SSL/BD de Mantenimiento: Estos campos los dejamos como estan.
  • Nombre de usuario: Colocamos el nombre de usuario que acabos de crear.
  • Contraseña: Colocamos la contraseña que le asignamos a nuestra cuenta que acabamos de crear.

Hacemos click en aceptar.

Luego de esto veremos que aparece un servidor en esta lista, que es el que acabamos de agregar, y en el cual esta nuestra base de datos de prueba. Para ver las tablas hacemos doble click sobre nuestro servidor, luego sobre base de datos y asi veremos todas nuestras bases de datos creadas, en nuestro caso solo aparecera la BD prueba. Hacemos doble click sobre ella, luego sobres esquemas y por ultimo en public.

En este punto ya podemos ver todos los elementos que conforman nuestra BD como tablas, vistas, store procedures, etc.

Habilitar conexiones remotas en PostgreSQL

Una conexion remota no es mas que podernos conectar a nuestra base de datos desde otro equipo. Esta es una funcion que por lo general necesitaremos, ya que si estamo desarrollando una aplicacion que se conecta a una base de datos, habilitar esta funcion y colocar nuestra base de datos en un solo equipo, nos permitira probar la concurrencia de nuestra base de datos.

Por motivos de seguridad postgres no tiene activo el aceptar conexiones remotas, en esta parte del tutoria aprenderemos como habilitar esta funcion.

Primero necesitamos editar el archivo postgresql.conf, para abrir el archivo en un terminal ejecutamos el comando:

sudo gedit /etc/postgresql/8.2/main/postgresql.conf

Una vez que abrimos el archivo ubicamos la siguiente linea:

#listen_addresses = ‘localhost’

Subtituimos esa linea por la siguiente:

listen_addresses = ‘*’

Luego buscamos la siguiente linea y la descomentamos:

#password_encryption = on

Para descomentarla, le quitamos el # al principio de la linea, quedandonos:

password_encryption = on

Guardamos y cerramos el archivo, para posteriormente reinciar el postgres, ejecutando el siguien comando en un terminal:

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

Luego de esto necesitamos configurar la lista de acceso, la cual permite establecer relaciones de confianza para ciertos equipos y redes. Para hacer esto tenemos que editar el fichero pg_hba.conf. Para abrir el archivo, en un terminal ejecutamos el comando:

sudo gedit /etc/postgresql/8.2/main/pg_hba.conf

Al final del archivo debemos agregar lo siguiente:

host all all 0.0.0.0 0.0.0.0 md5

De este modo cualquier con previa autentificacion puede conectarse al postgres de nuestra equipo, o nosotros conectarnos a dicho equipo.

Guardamos y cerramos el archivo, para por ultimo reiniciar el postgresql y que los cambios hagan efecto.

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

Eso es todo para este tutorial, en unos dias estare publicando un tutorial de como hacer la conexion entre Java y PostgreSQL.

Si quieren mas informacion o conocer mas a fondo PostgreSQL visiten el siguiente link.

Anuncios

30 comentarios to “Instalar PostgreSQL y pgAdmin en Ubuntu”

  1. José Montoya said

    Muchas gracias por el aporte me sirvio de mucho…!! tenia rato gogleeando y los resultados no eran satisfactorios, pero bueno hasta que por fin consegui.. un millon

    ahh el tema que andaba buscando: Habilitar conexiones remotas en PostgreSQL,

    Cualquier otra duda te comento..!

    saludos desde Venezuela.

  2. julio montaño said

    muy bueno tu post, te felicito. fue de mucha ayuda, tenia tiempo luchando para que pgadmin3 se conectara con postgres. gracias una vez mas.

  3. Andrés said

    Hola muy bueno tu post, no sabes lo mucho que me ha servido, actualmente estoy iniciandome en el desarrollo de una aplicacion con python en ubuntu y bueno me decidi por usar como DB a PostgreSQL que ya anteriormente habia instalado pero ahora se me complico un poco pero bueno gracias por tu ayuda.

    • Cash said

      People still need houses to live in and doctors need offices to practice from. This is the most discussion. A sign that the subject property needs to be licensed, and obtain the check to complete your retsqremeniu.

  4. Alcides said

    muy, muy bueno el post, gracias y espero el post de apache, php y psql con ubuntu. gracias nuevamente

  5. cOaLa_ said

    Exelente, muy buena ayuda 😉

  6. Danny said

    Tremendo me Sacaste de Apuros, te felicito y espero que sigas asi, estuvo BUENO. Nos Vemos PANA, Mil Gracias

  7. neonard0 said

    Hola, muchas gracias por la guia, solo queria aclarar que cuando configuras el archivo pg_hba.conf

    “Al final del archivo debemos agregar lo siguiente:
    host all all 0.0.0.0.0.0.0.0 md5”

    No me funciono, basicamente por que postgres la entiende como una IP mal formada
    tal vez se te paso el punto de mas que hay ahi. deberia ser algo como:

    host all all 0.0.0.0 0.0.0.0 md5

  8. oftc007 said

    Si se me paso ese punto, ya esta arreglado en el tutorial.

    Saludos y gracias.

  9. avenzano said

    Muy interesante tu artículo.

    Por casualidad no sabrás como activar los stored procedures?. Estuve buscando información sobre este tema y no encontré nada útil (lo cual debe significar que pocos usuarios de PostgreSQL las utilizan). Una pena, porque es una de las características mas sobresalientes de esta base de datos…

    Saludos!

  10. oftc007 said

    Para poder usar los stored procedures tienes que agregar el lenguaje para programarlos, te recomiendo usar PL/pgSQL. Para eso conectate a tu BD desde un terminal y ejecuta el comando:

    CREATE LANGUAGE ‘plpgsql’

    El terminal deberia devolver “CREATE LANGUAGE”. Luego de eso solo te queda programar tus store precedures o triggers. En la seccion de Libros y manuales encontraras un manual de PL/pgSQL.

    Saludos!

  11. Muchas gracias por la guía. Deberás que me funcionó. Pero tengo una duda… Quiero conectar una aplicacion de netbeans y postgres pero no encuentro el archivo .jar como lo hacia en windows. ¿Ké puedo hacer?
    Nos vemos luego por aca

  12. Papo_p said

    Holap, nada más quería agradecer el aporte.
    yo como novato en estos temas, entendí clarisimo todo, y me funcionó sin problemas.

    Saludos y Muchas Gracias.

  13. Carlos said

    Hola muy bueno.. Felicidades. Gracias

    Funciona muy bien
    Una duda, si se puede.. Fisicamente donde localizo el archivo de la base de datos ¿cual es la ruta del subdirectorio dentro de Ubuntu?
    Tengo Ubuntu Server Edition 8.04

    Saludos, Gracias.

  14. Julio said

    gracias, esta muy bueno, como novato en esto logre hacer todo sin problemas es la primera vez que lo instalo pero ahora me gustaria aprender mas

  15. elizabeth said

    hola

  16. elizabeth said

    hola xfa alguien tengo un problema vera estoy instalando gresql-8.3.3-2 sobre windows y quiero ejecutar el pgagent pero me da el siguiente error
    ERROR: no existe el lenguaje «plpgsql»
    HINT: Usar CREATE LANGUAGE para instalar el lenguaje en la base de datos.

    ********** Error **********

    ERROR: no existe el lenguaje «plpgsql»
    Estado SQL:42704
    Sugerencias:Usar CREATE LANGUAGE para instalar el lenguaje en la base de datos.

    mil gracias desde ya

  17. juan carlos said

    una preguntita para completar esto…

    eso es para añadir un lenguaje a una base de datos…

    pero como hago añadir el lenguaje al template0 para que lo tengan por defecto todas las bases de datos?

    muchas gracias

  18. Judith said

    ¡¡Muchas gracias!! Llevaba unas horas intentando solucionar el problema y por fin, gracias a tu ayuda lo he solucionado muy rápido. Está todo muy bien explicadito.
    ¡Gracias!

  19. […] Pasado en limpio desde el blog de linpox […]

  20. cyber_franki said

    Hola a todos, yo recien me encuentro investigando sobre el manejo de esta herramienta, la duda que tengo es que todo va bien hasta añadir una conexion, el problema que tengo es que me pide el numero de puerto y no se a cual se refiere, espero me ayuden pues soy novato en esta área.

  21. Flor said

    Gracias!!

  22. gracias por su aporte.

    Venezuela

  23. Excelente tu trabajo, nada mas que tengo un problema, no me puedo conectar desde windows a postgres en ubuntu, al parecer no me acepta la conexiones externas, soy novatisimo en esto, pero me imagino que es el archivo pg_hba.conf que tengo que modificar o que?
    gracias por todo

  24. kely said

    Hola gracias, por un momento creí que no iba a poder configurarlo, pero gracias a ti ya pude hacerlo.

    ahora mi siguiente paso es buscar un tutorial para aprender a usarlo.

    ¡¡¡¡ saludos ¡¡¡

  25. Miguel said

    Trabajé hace 2 anios con postgresql 8.3 en Fedora 9 y desarrollé una aplicacion en java usando un driver jdbc 3 pero ahora con Fedora 12 y Postgresql 8.4.3 me encuentro con el dilema :
    org.postgresql.util.PSQLException: FATAL: la autentificaci��n Ident fall�� para el usuario ��miguel��
    pese a que en /var/lib/pgsql/data/postgresql.conf :
    descomenté
    password encryption=on
    port=5432
    cambié : listen_addresses=’local host’ a listen_addresses=’*’
    y en /var/lib/pgsql/data/pg_hba.conf agregué una línea copia textual
    host all all 0.0.0.0 0.0.0.0 md5
    luego por supuesto :
    /etc/init.d/postgresql restart
    todo va bien con el uso de psql -U -W
    pero cuando intento con mi aplicación en java , la línea :
    con = DriverManager.getConnection(url,userdb,passwd);
    (que está en mi aplicación)
    me da el error :
    org.postgresql.util.PSQLException: FATAL: la autentificaci��n Ident fall�� para el usuario ��miguel��
    La verdad es que hice todos los cambios que he leido pero me parece que algo me falta hacer para que acepte las conexiones desde otra aplicacion estoy un poco desorientado le pide si me puede ayudar pues estoy en una encrucijada . Gracias por todo
    Miguel Manzano
    miguel.miguelmanzano@gmail.com

  26. […] Instalar PostgreSQL y pgAdmin en Ubuntu abril, 200825 comentários 3 […]

  27. yess said

    oye gracias!!! sirvio de mucho eh!! ya tenia rato buscando pero nada le entendia, muy buen aporte 🙂

  28. Antonio said

    Hasta ahora no he encontrado una nueva herramienta genial para trabajar con postgresql en ubuntu – Valentina Studio. Es la edición gratuita puede hacer las cosas más de las muchas herramientas comerciales!
    ¡Muy recomendable comprobarlo. http://www.valentina-db.com/en/valentina-studio-overview

  29. Rosa said

    I have read so many posts on the topic of the blogger lovers but this article is in fact a nice post, keep it up.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: