Instalar y configurar postgresql linux debian

Instalar y configurar postgresql linux debian

Depués de realizar varias pruebas instalando el motor de bases de datos Postgresql en windows, macos y por último en la distribución debian de linux, recomiendo siempre su instalación en esta última debido a que tanto si va a ser una base de datos para una web (casi seguro que el servidor correrá bajo linux) como si se va a utilizar en local siempre será mejor en esta plataforma.

instalar y configurar postgresql

Porque?

Por muchas razones;

La documentación: la mayoria de los tutoriales, artículos, preguntas, etc están creadas para linux por lo que cualquier problema nos resultará mucho mas fácil resolverlo.

Facilidad: En cualquiera de las distribuciones que hay podemos instalar postgresql con un simple comando, aunque también podemos hacerlo de otra manera esta resultará siempre mucho mas sencilla.

Fiabilidad: Por lo menos con las pruebas que he realizado yo me resulta mucho mas fiable que en cualquiera de los otros sistemas operativos.

Vamos a instalar postgresql

sudo apt-cache search postgresql

Para saber todo lo que podemos instalar relacionado con este motor de bases de datos.

sudo apt-get install postgresql-9.4

Recuerda que si es una instalación limpia de debian tendrás que permitir ejecutar sudo editando el archivo sudoers, este comando te instalará e iniciará postgresql en su version 9.4, que es la última versión actualmente (cuando se esta escribiendo este articulo claro).

Por defecto te habrá creado un usuario nuevo que se llama postgres el cual gracias a su configuración por defecto te permitirá conectarte a el sin contraseña y solo desde ese equipo en el cual esta instalado el motor. Para cambiar esto lo primero que haremos es o crear otro usuario o ponerle contraseña a ese, para esto último ejecutaremos estos comandos.

su //nos logueamos como root

Ahora nos logueamos como el usuario postgres:

su postgres

No nos pedirá ninguna contraseña, simplemente nos logueará. Y una vez logueados bastara con ejecutar

psql

Para estar conectados ya a la base de datos, desde la que podemos cambiarnos nuestra contraseña actual y ejecutar cualquier acción que queramos. Para cambiar la contraseña actual ejecutaremos la siguiente consulta sql.

ALTER ROLE postgres PASSWORD ‘postgres’

En mi caso pondre la misma que el nombre “postgres”, aunque parezca poco seguro hacer esto, no lo es, ya que como veremos luego vamos a filtrar quien accede y quien no a nuestra base de datos por medio de otros archivos.

pgadmin3

Lo siguiente que haremos es instalarnos pgAdminIII para poder acceder a las bases de datos con un entorno grafico.

sudo apt-get instal pgadmin3

Como aprecierais al instalarlo pgadmin es una aplicacion bastante tosca y simple pero muy funcional por eso es imprescindible tenerla instalada, pero aun no nos permitirá conectarnos a la base de datos, todavía tenemos que editar un par de archivos para que nos permita esto, el postgresql.conf y pg_hba.conf, que deberian estar en la ruta /etc/postgresql/9.4/main/. La edición y modificación de estos archivos se suele hacer con vim o nano, pero ya que tenemos instalado gedit nos resultará mas comodo hacerlo desde este, por lo que ejecutaremos:

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

Buscaremos la linea donde pone

#listen_addresses = ‘localhost’

La descomentamos y cambiamos localhost por un *, cerramos y guardamos. Y reiniciamos el servicio con el comando.

sudo service postgresql restart

Ahora editamos el otro archivo.

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

Este archivo es la clave de la seguridad que vamos a tener en nuestro postgresql, se puede dejar abierto completamente el acceso desde una red interna, permitir solo el acceso desde una ip, bloquear otras ips o redes, permitir acceso libre a una ip y al resto obligar la autentificación, y un largo etc.

Vamos a explicar un poco como funciona este archivo, nos vamos hasta mas o menos la linea 85 donde veremos como deja habierto completamente el acceso a la base de datos si estamos en local:

local             all             postgres                                            peer

Esta linea le dice que desde local permita el acceso a todo el mundo con lo que si abrimos el programa de administración pgadmin3 ya deberiamos poder acceder poniendo el usuario y contraseña que nos de la gana, no lo va a mirar.

Deja un comentario