LiNpOx

Linux y Windows para informáticos

Instalar PostgreSQL y pgAdmin en Ubuntu

Publicado por 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.

22 comentarios para “Instalar PostgreSQL y pgAdmin en Ubuntu”

  1. José Montoya escribió

    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 escribió

    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 escribió

    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.

  4. Alcides escribió

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

  5. cOaLa_ escribió

    Exelente, muy buena ayuda ;)

  6. Danny escribió

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

  7. neonard0 escribió

    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 escribió

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

    Saludos y gracias.

  9. avenzano escribió

    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 escribió

    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. El Mazateco. gcom escribió

    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 escribió

    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 escribió

    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 escribió

    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 escribió

    hola

  16. elizabeth escribió

    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 escribió

    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 escribió

    ¡¡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 escribió

    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 escribió

    Gracias!!

  22. angel becerra escribió

    gracias por su aporte.

    Venezuela

Escribe un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>