You are on page 1of 19

Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Universidad Nacional Autónoma de México


Facultad de Ingeniería
Unidad de Servicios de Cómputo Académico
Curso: Bases de Datos
Instructor: Héctor David Pineda Villagrán

Manual de Instalación y configuración del DBMS PostgreSQL en CentOS 6.8

Objetivo de aprendizaje

 Adquirir los conocimientos necesarios para la instalación y configuración de un servidor de bases


de datos utilizando el DBMS PostgreSQL.

 El participante entenderá el concepto de la Arquitectura Cliente Servidor.

Introducción

- ¿Qué es PostgreSQL?
PostgreSQL es un poderoso sistema manejador de bases de datos Relacional y Orientado a Objetos
que es mantenido por una comunidad de desarrolladores que trabajan de forma desinteresada,
altruista, libre y apoyada por algunas organizaciones comerciales. Dicha comunidad es llamada con
el nombre de PGDG (PostgreSQL Global Development Group).

PostgreSQL tiene más de 15 años de desarrollo activo y una arquitectura comprobada que le ha
valido una sola reputación de fiabilidad, integridad de datos y corrección. Dicho DBMS se ejecuta en
los sistemas operativos que existen en el mercado (Windows, Linux, Mac OS, etc.). Es totalmente
compatible con las propiedades ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) y tiene
soporte completo para llaves externas, combinaciones, vistas, disparadores y procedimientos
almacenados (en varios idiomas). Incluye la mayoría de los tipos de datos SQL 2008 entre ellos son:
INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL Y TIMESTAP. También permite
almacenar objetos grandes binarios, incluyendo imágenes, videos y sonidos. Tiene interfaces de
programación nativas para C / C++, Java, .Net, Perl, Python, Ruby, TCL, ODBC, entre otros.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

PostgreSQL es altamente escalable tanto en la gran cantidad de datos que puede administrar como
en la cantidad de usuarios simultáneos que puede permitir. Hay instancias activas de PostgreSQL en
entornos de producción que gestionan muchos terabytes de datos, así como clúster que gestionan
petabytes. Algunos límites generales de PostgreSQL se incluyen en la siguiente tabla:

Límite Valor
Tamaño máximo de una base de datos Ilimitado
Tamaño máximo de tabla 32 TB
Tamaño máximo de registro 1.6 TB
Tamaño máximo de campo 1 GB
Registros máximos por tabla Ilimitados
Columnas máximas por tabla 250 – 1600 dependiendo de los tipos de columna
Índices máximos por tabla Ilimitado

PostgreSQL ha sido elogiado por sus usuarios y por el reconocimiento de la industria, incluido el
Premio Linux New Media Award al mejor sistema manejador de bases de datos y cinco veces
ganador del premio The Linux Journal Editors Choice Award por el mejor manejador de bases de
datos.

Software requerido

Para la instalación de PostgreSQL se requiere el siguiente software:

- Virtualizador VMWare Player o Workstation


- Sistema Operativo Linux, Distribución CentOS v6.8
- DBMS PostgreSQL v9.6.
- pgAdmin v4.
- Editor de texto nano o vim.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Desarrollo

En este manual, el Sistema Operativo en donde se instalará PostgreSQL será CentOS en su versión
6.8, la instalación de dicho manejador para otros sistemas operativos varía dependiendo de la
distribución Linux a utilizarse como servidor de bases de datos.

Para comenzar la instalación de PostgreSQL se debe de contar con una máquina virtual con el
Sistema Operativo CentOS versión 6.8 previamente instalada, para fines didácticos los pasos de
instalación se mostrarán con su respectivo comando a ejecutar y su imagen que indicará que el
comando se ejecutó con éxito.

La instalación del DBMS se deberá realizar con el usuario de administrador (root).

1. Agregando el repositorio de PostgreSQL.


La versión del DBMS PostgreSQL a instalar será la 9.6, para ello debemos agregar el repositorio
de dicha versión en el Sistema Operativo que estamos utilizando ejecutando en la Terminal o
consola el siguiente comando:

bash# rpm -Uvh http://yum.postgresql.org/9.6/redhat/rhel-6-x86_64/pgdg-redhat96-9.6-3.noarch.rpm

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

2. Instalar el servidor PostgreSQL


Una vez agregado el repositorio del DBMS a instalar se deberá ejecutar el siguiente comando
para instalar PostgreSQL en su versión 9.6.

Bash# yum install postgresql96-server postgresql96

Aparecerá en la terminal el listado de los programas y sus dependencias a instalar, para ello
deberemos presionar la tecla y para comenzar con la instalación.

3. Inicializar la base de datos (PGDATA).


Finalizada la instalación de PostgreSQL, se deberá inicializar la base de datos. Para poder hacer
esto se deberá ejecutar el siguiente comando:

Bash# service postgresql-9.6 initdb

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

4. Inicializar el servidor PostgreSQL.


Inicializada la base de datos ahora procedemos a iniciar el servidor PostgreSQL con el siguiente
comando:

Bash# service postgresql-9.6 start

5. Verificación de la instalación y configuración de la contraseña del usuario postgres.


Instalado correctamente e iniciado los servicios del DBMS ahora procedemos a verificar la
instalación de nuestro manejador. Para ello ejecutamos el siguiente comando en la terminal:

Bash# su – postgres

El comando anterior mostrará en la terminal el bash de PostgreSQL, los cual significa que la
instalación del DBMS ha sido exitosa. Para ingresar a la consola de PostgreSQL debemos
escribir en la consola el siguiente comando:

-bash-4.1$ psql

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Desde este paso ya estamos dentro de la terminal de PostgreSQL con privilegios de


administrador.

Si se requiere conectarse al servidor de la base de datos de manera remota PostgreSQL, por


defecto, solo crea al usuario sin contraseña alguna. Por cuestiones de seguridad las cuentas de
usuario del manejador deben de tener una contraseña para poder ingresar de manera remota a
nuestro servidor, de lo contrario la conexión al servidor será negada. Para configurar una
contraseña a nuestro usuario postgres tecleamos dentro de la terminal del manejador el
siguiente comando:

postgres=# \password postgres

El manejador nos pedirá que ingresemos una contraseña, por cuestiones de seguridad las
contraseñas deberán contener caracteres alfanuméricos y símbolos especiales, en pocas
palabras, no deben ser palabras de diccionario.

6. Configuración de las direcciones IP permitidas y algoritmo de cifrado para el acceso al servidor.


En este paso modificaremos el archivo de configuración pg_hba.conf para indicarle el algoritmo
de cifrado que deberá utilizar PostgreSQL para cifrar las contraseñas de los usuarios y permitir
el acceso al servidor de bases de datos.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Para realizar esto, deberemos ubicarnos desde la terminal o consola de CentOS en la siguiente
ruta:

Bash# cd /var/lib/pgsql/9.6/data

Dentro de la ruta mencionada anteriormente se encuentran los archivos que tenemos que
modificar para tener el acceso a nuestro servidor de bases de datos: pg_hba.conf y
postgresql.conf. Para poder visualizar el contenido de la capeta tecleamos el siguiente comando:

Bash# ls -l

El comando anterior nos mostrará un listado como se muestra en la siguiente imagen:

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Comencemos por modificar el archivo pg_hba.conf. Para eso tecleamos en la terminal el


siguiente comando:

Bash# nano pg_hba.conf

Dado a que no estamos manejando ambiente gráfico en nuestro servidor, el archivo antes
mencionado se deberá modificar desde la terminal. La salida de dicho comando deberá ser
similar a esta:

Dentro del archivo pg_hba.conf debemos de ubicarnos en la siguiente sección:

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Y debemos agregar en la sección “IPv4 local connections:” la siguiente línea:

Host all all segmento_red_servidor md5

Ingresada la línea anterior guardamos los cambios (ctrl + x) y reiniciamos el servidor


PostgreSQL:

Bash# service postgresql-9.6 restart

¡Listo! El algoritmo de cifrado de contraseñas ha sido configurado exitosamente.

7. Configuración de las conexiones TCP/IP para acceso remoto.


Hasta este punto de configuración de PostgreSQL ya tenemos configurado el método de
autenticación al servidor de bases de datos. Lo que procede es habilitar las conexiones TCP / IP
para que el administrador de las bases de datos pueda conectarse desde cualquier computadora
a dicho servidor.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

El siguiente paso es modificar el archivo de configuración postgresql.conf, en la terminal


tecleamos el siguiente comando:

Bash# nano postgresql.conf

La salida del comando anterior deberá ser similar a la que se muestra en la siguiente imagen:

Dentro del archivo de configuración debemos de ubicarnos en la sección “CONNECTIONS AND


AUTHENTICATION” y los parámetros que vamos a configurar son los siguientes:

 listen_addresses =’direcciones_ip_permitidas’
En este parámetro se deberán escribir las direcciones IP autorizadas, separadas por coma,
para la conexión al servidor PostgreSQL. Si se coloca el asterisco (*) le estamos indicando
al servidor que permita conexiones de todos los clientes.

 port=5432

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

En este parámetro se deberá especificar el número del puerto por donde se realizará la
conexión con el servidor PostgreSQL. Por defecto, el número de puerto que el DBMS
maneja es el 5432. Por cuestiones de seguridad este número deberá ser cambiado por
uno diferente. Por ejemplo 8443.

La configuración del archivo postgresql.conf quedaría de la siguiente manera:

Realizadas las modificaciones de los parámetros seleccionados en la figura anterior guardamos


los cambios y reiniciamos PostgreSQL.

Bash# service postgresql-9.6 restart

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

NOTA IMPORTANTE: Cualquier modificación a los archivos pg_hba.conf y postgresql.conf se


deberá de reiniciar PostgreSQL, de lo contrario los cambios no surtirán efecto.

8. Configuración del cortafuegos (firewall).


El firewall es una barrera (puede ser software o hardware) que permite o niega el acceso a los
servicios alojados en un servidor. Para poder conectarnos de manera remota sin tener que
desactivar el firewall debemos editar el archivo iptables ubicado en la siguiente ruta:

Bash# cd /etc/sysconfig/

Ya ubicados en la ruta mencionada anteriormente, se deberá editar el archivo iptables (bash#


nano iptables) y agregar la siguiente línea:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Realizados los cambios al archivo iptables guardamos y reiniciamos el firewall de la siguiente


manera:

Bash# service iptables restart

¡Listo! El servidor de la base de datos ha sido configurado correctamente.

9. Configuración del cliente Windows para la conexión al servidor PostgreSQL (pgAdmin v4).
Para poder administrar de manera remota nuestras bases de datos debemos descargar e instalar
el administrador gráfico de bases de datos pgAdmin v4 en nuestro cliente Windows.

Una vez descargado e instalado pgAdmin en el cliente Windows lo ejecutamos y veremos una
pantalla como la siguiente:

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Damos clic en la opción Object -> Create -> Server… para configurar los parámetros de conexión
a nuestro servidor PostgreSQL.

Nos aparecerá una ventana como la siguiente:

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

En el campo Name que está en la pestaña General ponemos el nombre de la conexión a


nuestro servidor PostgreSQL.

Colocado el nombre de nuestra conexión, damos clic en la pestaña Connection y colocamos los
datos de nuestro servidor PostgreSQL.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Donde:
 Hostname/address. Corresponde a la dirección IP o al nombre del host de nuestro
servidor PostgreSQL previamente configurado.
 Port. Corresponde al número del puerto por donde se realizará la conexión remota
al servidor PostgreSQL.
 Username. Nombre del usuario de la base de datos.
 Password. Contraseña del usuario de la base de datos.

Ingresados los datos en los campos mencionados anteriormente damos clic en el botón Save.
Se realizará la conexión al servidor de bases de datos PostgreSQL.

¡Listo! A partir de este momento ya podemos comenzar a crear bases de datos en nuestro
servidor.

10. Configuración del cliente Windows para la conexión al servidor PostgreSQL (Navicat).
Navicat es un administrador gráfico de bases de datos. La versión Premium permite realizar
conexiones con varios manejadores de bases de datos (PostgreSQL, MySQL, MariaDB, Oracle,
etc). Para configurar la conexión con el servidor PostgreSQL se deberá descargar e instalar
Navicat en el cliente Windows.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Para configurar los parámetros de conexión al servidor PostgreSQL debemos dar clic en
Connection y seleccionar el DBMS al que queremos conectarnos, en este caso PostgreSQL.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Proporcionamos igual el nombre de la conexión, la dirección IP del servidor PostgreSQL, el


número de puerto, el usuario y la contraseña.

Navicat nos permite hacer un test de conexión para verificar que nuestra conexión al servidor
PostgreSQL se realizó con éxito. Para eso damos clic en Test connection.

Damos clic en OK y en el costado izquierdo de nuestro programa aparecerá la conexión que


acabamos de configurar. Damos clic derecho a la conexión recién creada y damos clic en Open
Connection y Listo!!! Ya podemos empezar a crear bases de datos.

Elaborado por: David Villagrán


Bases de Datos Manual de Instalación y configuración del DBMS PostgreSQL en CentOS

Referencias

https://fmdojo.wordpress.com/2017/01/10/install-postgresql-9-6-on-centos-6/

https://www.unixmen.com/postgresql-9-4-released-install-centos-7/

https://www.postgresql.org/about/

https://tecadmin.net/install-postgresql-on-centos-rhel-and-fedora/

Elaborado por: David Villagrán

You might also like