PostgreSQL Linux

Instalar Repositorio PostgreSQL

Lo primero que haremos será configurar los repositorios de PostgreSQL para tener la última versión disponible.

Para acceder a la versión correcta de tus repositorios visita la pagina oficial. En este caso lo hare con Debian.

Primero creamos el archivo del repositorio

sudo nano /etc/apt/sources.list.d/pgdg.list

Dentro añadiremos la siguiente línea, cuidando tu versión de debian

deb http://apt.postgresql.org/pub/repos/apt/ CAMBIAR_VERSION-pgdg main

Luego añadimos la clave y actualizamos los repositorios

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update

Instalar PostgreSQL

Instalaremos la última versión estable la cual se encuentra dentro de los repositorios Entonces ejecutamos:

sudo apt -y install postgresql libpq-dev postgresql-client postgresql-client-common php-pgsql postgresql-pglogical

En el caso de que queramos asegurarnos de instalar la versión 10 (última versión al momento de esta publicación)

sudo apt -y install postgresql-11 libpq-dev postgresql-client postgresql-client-common php-pgsql postgresql-11-pglogical

Identificar Versión Instalada

Versión del Servidor:

pg_config --version

Versión del Cliente:

psql --version

Crear al usuario

Como último paso, por cuestiones de seguridad, crearemos al usuario de la base de datos y le daremos una contraseña para la Base de Datos.

$ sudo su
$ su postgres
$ psql postgres


Ahora le damos todos los permisos a nuestro usuario a la base de datos que deseemos trabajar.

postgres=# CREATE USER TuUsuario PASSWORD 'password';

Si ya tenemos creado al usuario, simplemente le cambiamos la contraseña

postgres=# alter user TuUsuario with password 'tucontraseña';
ALTER ROLE

Para darle permisos de super usuario tecleamos:

postgres=# ALTER ROLE TuUsuario WITH SUPERUSER;

Para salir de la Base de Datos hacemos:

pruebaBD=# \q
exit
exit

Luego permitir al usuario "TuUsuario" el acceso mediante nombre de usuario y contraseña (método password/md5) desde el archivo de configuración de autenticación pg_hba.conf, el cual se encuentra en la ruta /etc/postgresql/11/main/pg_hba.conf.

Debajo de la configuración del usuario "postgres", agregar la línea para que se autentique al usuario "TuUsuario" mediante el método md5, aquí les dejo la imagen de mi configuración, mí usuario se llama pi:

sudo nano /etc/postgresql/11/main/pg_hba.conf

Habilitar la conexión Remota

Primero Editamos el archivo pg_hba.conf

sudo nano /etc/postgresql/11/main/pg_hba.conf

Cambiar por la versión correspondiente


y agregamos una línea al final (la dir ip remota a la que queremos darle permiso de conexión)

host all all 192.168.11.111 255.255.255.0 trust

(pueden dejar una ip o un grupo de direcciones cambiando la ip y la máscara de subred, recuerda cambiarlos por tus datos)


Si deseamos que se puedan conectar desde cualquier lado:

host all all 0.0.0.0/0 md5

Una vez agregado el archivo presionamos Ctrl+x y nos pide confirmación con un “Y” luego enter y listo, queda modificado.

Por último tenemos que editar el archivo /etc/postgresql/9.6/main/postgresql.conf y modificar el parámetro listen_addresses para indicar que escuche en las interfaces necesarias, en este caso lo habilitaremos para todas:

sudo nano /etc/postgresql/11/main/postgresql.conf
listen_addresses='*'

Recargar la configuración de PostgreSQL para que tomen efecto los cambios:

sudo /etc/init.d/postgresql restart

Crear Primera Base de Datos para PostgreSQL

Procedemos a crear una Base de Datos para experimentar, en mi caso crearé la BD pruebaBD, directamente logeado en la terminal estándar teclea:

$ createdb pruebaBD;
$ psql pruebaBD

Ahora le damos todos los permisos a nuestro usuario a la base de datos que deseemos trabajar.

postgres=# GRANT ALL PRIVILEGES ON DATABASE pruebaDB to TuUsuario;

Listo, estamos logeados en nuestra base de datos

psql (9.6.11)
Type "help" for help.
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
pruebaBD=#

Lo cual nos indica que hemos entrado a la Base de Datos. En éste punto, podremos ejecutar todos los comandos en SQL que necesitemos.

Para salir de la Base de Datos hacemos:

pruebaBD=# \q


Manejar la Base de Datos con entorno gráfico (PgAmin3)

Para instalar pgadmin solo hay ejecutar:

sudo apt-get install pgadmin3


Bien, ahora ejecutemos el programa que acabamos de instalar:

$ pgadmin3 &


Hecho ésto, procedemos a añadir un servidor para nuestro programa, siguiendo el menú:


Archivo -> Añadir Servidor…


Ingresemos la información solicitada en el diálogo presentado:

Dirección: localhost
Descripción: Conexion con localhost
BD de mantenimiento: pruebaBD
Nombre de Usuario: TuUsuario
Contraseña: password
  • En ‘Dirección’ debemos ingresar la ubicación de nuestra Base de Datos, en nuestro caso será ‘localhost’ puesto que estamos trabajando con una Base de Datos local.
  • En ‘Descripción’ preferentemente describiremos la conexión con el servidor que estamos creando.
  • BD de mantenimiento’, en dicho campo ingresaremos el nombre de la Base de Datos que vamos a manejar.
  • Nombre de usuario’, pues eso, ingresamos el nombre de usuario que creamos como cuenta en el DBMS. ‘juaramir’ en nuestro ejemplo.
  • Contraseña’, ingresamos el password que asignamos al nombre de usuario que hemos creado.

Le damos a ‘aceptar’.


Luego, hacemos ‘doble clic’ en la nueva conexión creada y listo.


Finalmente tendremos un icono en el menú de Gnome.


Cabe rescatar que la interfaz provista por pgadmin es bastante amigable, se puede hacer todo, desde crear una tabla hasta crear mas Bases de Datos, simplemente a base de un click derecho en el elemento deseado del panel izquierdo. Por ejemplo, si deseamos crear una tabla debemos de hacer click derecho en el item ‘Tablas(n)’ y luego en ‘nueva tabla’ (donde n es el numero de tablas que tenemos actualmente), para llenar el nombre y el propietario.