Instalando PostgreSQL en Ubuntu

PostgreSQL es un sistema de base de datos muy potente de codigo abierto. Tiene mas de 15 años de desarollo activo y una arquitectura que se ha ganado a pulso la reputación de fiable.

PgAdminIII es, dentro de la administración y desarollo en postgreSQL, la aplicación mas popular, disponible, al igual que postgreSQL para la mayoria de SO. Este esta diseñado para responder a todas las necesidades de los usuarios, desde la realización de consultas SQL hasta la elaboración de complejas sentencias. Este hace fácil la administración, además de incluir un editor de SQL,entre otras características.

Para mas información:

PostgreSQL: http://www.postgresql.org/
PgAdminIII: http://www.pgadmin.org/

Instalando Postgresql y pgadmin3

Abrimos un terminal y tecleamos:

$ sudo apt-get install postgresql-8.2 postgresql-client-8.2 postgresql-contrib-8.2

$ sudo apt-get install pgadmin3

Ello instalará nuestra base de datos postgreSQL, el cliente y algunas utilidades extra como scripts, además del pgadmin3 (un interface gráfico para poder trabajar con la Base de datos (BD)).

Configurando PostgreSQL

Lo primero que vamos a realizar, es resetear el password para el usuario “postgres“, el cual, es el administrador del servidor de BD. Para ello, abriremos un terminal y teclearemos:

$ sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD `password´;
template1=# \q

Una vez cambiada la password para la BD debemos hacer lo propio para el usuario “postgres” de nuestro sistema. Para ello, en el terminal escribiremos:

$ sudo passwd -d postgres

$ sudo su postgres -c passwd

Ahora introduciremos el password añadido anteriormente en la BD.

Echo esto ya podemos usar pgAdmin y la linea de comando para acceder al servidor de BD (con el usuario postgres). Pero antes de usar pgAdmin deberemos configurar PostgreSQL para mejorar el uso del mismo.
Para poder realizar la conexión remotamente a la BD, procederemos a configurar el fichero “postgresql.conf”:

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

Aquí, editaremos la sección “Connections and Authentication” de la siguiente manera:

Cambiaremos la linea:

#listen_addresses= ‘localhost’

por

listen_addresses=’*’

lo cual dejará realizar conexiones externas a la bd. Tambien cambiaremos:

#password_encryption=on

a

password_encryption=on

Grabararemos los cambios y saldremos de Gedit. Como último paso, deberemos editar el fichero: pg_hba.conf.

$ sudo mv /etc/postgresql/8.2/main/pg_hba.conf /etc/postgresql/8.2/main/pg_hba.conf.old
$ sudo gedit /etc/postgresql/8.2/main/pg_hba.conf

y añadiremos lo siguiente:

# If you change this first entry you will need to make sure that the
# database
# super user can access the database using some other method.
# Noninteractive
# access to all databases is required during automatic maintenance
# (autovacuum, daily cronjob, replication, and similar tasks).
#
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# “local” is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Connections for all PCs on the subnet
#
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
host all all [ip address] [subnet mask] md5

En esta última linea, añadir la mascara de red y la dirección IP de los PCs con los cuales realizaremos la conexión al servidor de BD. Si usamos como último parametro el 0 dentro de la dirección IP, se habilitará el acceso para todo ese rango de IPs.

Tras ello, es el momento de reiniciar el servicio de postgre.

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

Y una vez nos arranque ya esta todo preparado para el uso de postgresql en ubuntu.

Creando una Base de Datos.

Vamos a crear una base de datos y un usuario con FullAccess a dicha BD. Es posible utilizar pgAdmin para dicha labor, asi que si prefereiis un interface GUI, esa será vuestra herramienta. Para la realización desde consola seguiremos los siguientes pasos:

$ sudo -u postgres createuser -D -A -P nombreusuario
$ sudo -u postgres createdb -O nombreusuario nombrebasedatos

4 comentarios to “Instalando PostgreSQL en Ubuntu”

  1. Instalando…Postgres en Ubuntu GNU/Linux « Maycol Alvarez Says:

    […] Ésta es la conflagración básica del postgres que SÓLO ADMITE CONEXIONES LOCALHOST lo que quiere decir que el servicio postgres ésta cerrado a conexiones remotas, lo que es muy útil cuando se utiliza con PHP ya que éste se conecta de modo local y evitamos que se conecten a nuestra base de datos de afuera, si quieres que el servicio postgres admita conexiones externas (remotas) puedes seguir los pasos de la siguiente guía omitiendo los anteriores que yo expuse aquí: Linuxsan- Instalando Postgres en Ubuntu […]

  2. TEYIN Says:

    TENGO UN PROBLEMA, HACE UNOS DIAS LE CAMBIE PERMISOS A MI CARPETA /etc PARA MI SORPRESA EMPECE A TENER UNA SERIE DE PROBLEMAS, AHORA NO PUEDO EJECUTAR, DESINSTALAR, NI REINSTALAR POSTGRES DE MI MAQUINA SIN TENER UNA INSTALACION CORRECTA NI LOS RESULTADOS DESEADOS. AHORA CUANDO TRATO DE CONECTARME CON LA BASE DE DATOS POR DEFECTO NO ME DEJA. ME APARECE ESTE ERROR.

    postgres@panthalaimon:~$ psql
    psql: could not connect to server: No such file or directory
    Is the server running locally and accepting connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?
    postgres@panthalaimon:~$

    ###########################################

    postgres@panthalaimon:~$ createdb prueba
    createdb: could not connect to database postgres: could not connect to server: No such file or directory
    Is the server running locally and accepting connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?
    postgres@panthalaimon:~$

    #############################

    AGRADECERIA QUE ME AYUDARAS.

  3. cristiansan Says:

    ui Teyin… eso de cambiar los permisos de la carpeta /etc no es del todo recomendable, por no decir nada recomendable.
    Perdona el retraso pero no tengo mucho tiempo. ¿has podido solucionar el problema? necesitas aún un cable?

  4. Margarita Badiola valle Says:

    he agotado los tres intentos al incluir el pass a la BBDD. Me aparece el mensaje: “postgres no está en el archivo sudoers”

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: