Anda di halaman 1dari 12

PSQL

INSTALACIÓN DEL SERVIDOR


Última actualización: 24 julio, 2012

Dentro de una organización, el Database Administrator (DBA) es la persona encargada de tareas


tales como la integridad, recuperación y seguridad de la información, así como de la instalación,
actualización y disponibilidad del servidor.

La instalación de PostgreSQL en un ambiente de producción es relativamente sencilla y puede ser


TÍTULO
instalado en un gran número de plataformas (Windows, UNIX, Mac OS, Linux). Este módulo está
diseñado para que aprenda a instalar el manejador sobre una distribución del Sistema Operativo
Linux.

Objetivos
al concluir este laboratorio usted debe ser capaz de:
TÍTULO
 Saber dónde y cómo obtener el DBMS PostgreSQL
 Poder instalar el manejador en un ambiente UNIX
 Configurar el manejador como un servicio del S.O.
 Asegurar la cuenta de usuario del administrador de la base de datos
 Poder iniciar, reiniciar y detener el servicio

Requisitos del entorno


Para poder completar este laboratorio, necesitará lo siguiente:

 Contraseña o privilegios de súper usuario en el servidor en el cual se instalará el


manejador.
 Sistema operativo Linux de la familia RHEL (algunos pasos cambian entre una familia y otra
de SO).
 Compilador gcc y herramientas tar y make.
 Conexión a internet.

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA


1 UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
INSTALACIÓN DEL SERVIDOR
DBA
Convenciones tipográficas

Formato Usado para


/usr/local Directorio/Argumento/Comandos/Código

/etc/profile Archivo
Root Usuario/Grupo

1. Descarga e instalación del software.


En esta sección aprenderá los pasos necesarios para descargar e instalar PostgreSQL sobre el
sistema operativo Fedora. Descubrirá que es un software bastante fácil de usar y que se requieren
de pocos comandos para ponerlo en funcionamiento.

ACTIVIDADES – Descargar PostgreSQL

En el servidor haga lo siguiente:

1. Abra una consola de comandos del servidor.

2. En la consola, inicie sesión como root, el administrador del sistema operativo.

3. Ejecute el comando wget con el link de descarga correspondiente. Guarde el


paquete en el directorio /usr/src.

El link de descarga se puede encontrar en www.postgresql.org

shell]# wget \
http://ftp.postgresql.org/pub/source/v9.1.4/postgresql-
9.1.4.tar.gz
ACTIVIDADES – Instalación de PostgreSQL

En los siguientes pasos se describe la manera de instalar PostgreSQL a partir del


código fuente genérico para Unix–Linux. El código fuente está empaquetado en un
archivo tar.

Los archivos comprimidos tar tienen nombres del tipo postgresql-VERSION.tar.gz


donde VERSION es un número.

1. Abra una consola de comandos del servidor.

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA 2


UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
PSQL UNICA – UNIDAD DE SERVICIOS DE CÓMPUTO ACADÉMICO

2. En la consola, inicie sesión como root, el administrador del sistema operativo.


Todo el proceso de instalación se llevará a cabo con este usuario.

3. Si en su equipo aún no tiene un usuario llamado postgres, se deben crear. El


siguiente comando agregra al usuario postgres.

shell]# useradd –r postgres

4. El directorio de instalación de PostgreSQL será /usr/local. Proceda a


desempaquetar el software que se almaceno en /usr/src.

shell]# tar –zxvf postgresql-VERSION.tar.gz


5. Una vez desempaquetado, ingrese al directorio resultante para configurar la
compilación del DBMS. Se pueden agregar numerosas características al
manejador, todo depende de las necesidades. Generalmente para cada
característica que se agregue se necesitaran instalar algunas librerías y
dependencias, lo cual puede ser hecho a través de la herramienta yum.

shell]# cd postgresql-VERSION
shell]# ./configure --enable-nls --with-krb5 --with-pam
--with-ldap --with-openssl --with-libxml --with-libxslt
--with-perl --with-python --prefix=/usr/local/pgsql
Si se configura el software con las características listadas arriba será necesario
instalar las siguientes librerías antes de ejecutar el script de configuración.

shell]# yum install readline-devel


shell]# yum install zlib-devel
shell]# yum install openssl-devel
shell]# yum install pam-devel
shell]# yum install libxml-devel
shell]# yum install libxslt-devel
shell]# yum install openldap-devel
shell]# yum install perl-ExtUtils-Embed
shell]# yum install python-devel

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA


3 UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
INSTALACIÓN DEL SERVIDOR
DBA
En la mayoría de los sistemas, esto producirá un binario rápido y estable. La
opción --prefix indica el directorio donde se alojará el servidor.

6. Es importante, para fines de futuras actualizaciones, crear un archivo con la


configuración que se utilizó, con el fin de que en las próximas actualizaciones se
mantenga consistente el sistema. Cree el respaldo de la configuración de la
siguiente manera y guárdelo en el directorio /usr/local/pgsql que se
creará de manera automática después de la instalación.

shell]# echo ./configure --enable-nls --with-krb5


--with-pam --with-ldap --with-openssl --with-libxml
--with-libxslt --with-perl --with-python --
prefix=/usr/local/pgsql > nice.config
7. Ahora se procede a compilar e instalar el manejador de la siguiente manera:

shell]# make

shell]# make install

Si el proceso se terminó con éxito, en el directorio /usr/local debe existir una


carpeta llamada pgsql donde están alojados los binarios del manejador.

8. Muévase al directorio pgsql y cambie el propietario y el grupo de ese directorio,


de manera recursiva, al usuario y grupo postgres que se crearon anteriormente.

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA 4


UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
PSQL UNICA – UNIDAD DE SERVICIOS DE CÓMPUTO ACADÉMICO

9. En este momento proceda con la instalación de la base de datos. Antes de hacerlo


debe ingresar al sistema como el usuario postgres para que todos los archivos y
procesos le pertenezcan a él.

NOTA: No use jamás al usuario root como el súper usuario de PostgreSQL,


hacerlo representa un problema grave de seguridad.

Argumento Descripción
LOCALE Se refiere a las preferencias culturales respecto
al alfabeto, ordenamiento y formato de los
números
LC_COLLATE Tipo de ordenamiento en las cadenas
LC_TYPE Clasificación de los caracteres
LC_MESSAGES Lenguaje de los mensajes
LC_MONETARY Formato de la moneda
LC_NUMERIC Formato de los números
LC_TIME Formato de la fecha y el tiempo

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA


5 UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
INSTALACIÓN DEL SERVIDOR
DBA
LC_COLLATE y LC_TYPE son determinados por initdb y no pueden ser
cambiados sin volver a ejecutar initdb. LC_MESSAGES y LC_MONETARY
pueden cambiarse sin necesidad de reconstruir el clúster.

La manera más sencilla para usar múltiples codificaciones de manera segura en


las bases de datos es asignar --locale=C o --locale=POSIX al momento
de ejecutar initdb. http://www.postgresql.org/docs/8.2/static/multibyte.html

El proceso de desempaquetamiento e instalación del servidor y base de datos


creó la siguiente estructura de directorios.

Directorio Contenido
bin Programas del cliente y el servidor postgresql
data Bitácoras y bases de datos
include Archivos de cabecera
lib Librerías
share Varios archivos de soporte, incluidos los mensajes de error, ejemplos de
archivos de configuración y SQL para la instalación de la base de datos

10. Ahora modifique, como usuario root, la variable de entorno PATH y agregue la
ruta de los ejecutables de postgres, es decir /usr/local/pgsql/bin. Para
realizar esto es necesario modificar el archivo /etc/profile y agregar una línea
como la siguiente:

PATH=$PATH:/usr/local/pgsql/bin
Además agregué una nueva variable llamada PGDATA que contenga la ruta
complete del clúster:

PGDATA=/usr/local/pgsql/data
export PATH PGDATA

Y finalmente recargar el archivo

11. Inicie la base de datos de la siguiente manera

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA 6


UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
PSQL UNICA – UNIDAD DE SERVICIOS DE CÓMPUTO ACADÉMICO

12. Si siguió los pasos anteriores correctamente debe poder entrar la manejador a
través del comando psql y ver una salida de consola similar a la que sigue.

2. PostgreSQL como un proceso de Linux

El siguiente paso en el proceso de instalación y de configuraciones básicas es lograr que el DBMS


pueda iniciar y detenerse junto con el S.O. de manera automática.

ACTIVIDADES – Archivo de configuración

La instalación de PostgreSQL pone por defecto varios archivos de ejemplo para la


configuración del servidor, uno de ellos es el script que permite al manejador iniciar y
detenerse de manera automática junto con el sistema.

1. Copie el archivo llamado linux ubicado en el directorio


/usr/src/postgresql-VERSION/contrib/start-scripts al
directorio /etc/rc.d/init.d , renómbrelo como postgresql y asigne
permisos de ejecución.

2. Ahora active el script para que sea ejecutado en el arranque del sistema.

NOTA: En sistemas de una familia diferente a RHEL, existen comandos similares a


chkconfig, tales como insserv para los sistemas derivados de SuSE.

3. Reinicie el sistema operativo

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA


7 UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
INSTALACIÓN DEL SERVIDOR
DBA

4. Una vez que el sistema operativo arranque de nuevo, inicie sesión e ingrese al
manejador, cuyo servicio ya debe estar iniciado.

NOTA: Es importante mencionar que el script al que se hace referencia en esta


sección y que viene con el software de instalación (/usr/src/postgresql-
VERSION/contrib/start-scripts/linux) está configurado con los valores comúnmente
utilizados en instalación convencional. Sin embargo, si se ocupan directorios
diferentes a /usr/local/pgsql y todo su árbol, la ruta de estos directorios debe
ser modificada en el script, de lo contrario el servicio no iniciará con el sistema.

3. Asignando los passwords iniciales

En las instalaciones basadas en Unix, la cuenta del súper usuario es creada sin password. Esto es
un grave problema de seguridad y debe ser resuelto lo más pronto posible.

En un servidor PostgreSQL sobre Unix se crea sólo una cuenta de usuario al momento de ejecutar
el script initdb, el súper usuario de la base de datos llamado postgres.

ACTIVIDADES – Asignar password a la cuenta postgres

1. Antes de realizar cualquier cambio, visualice todos los usuarios existentes en el


servidor.

2. Entre al servidor postgresql y ejecute el siguiente comando para asignar una


contraseña a las cuenta de postgres.

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA 8


UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
PSQL UNICA – UNIDAD DE SERVICIOS DE CÓMPUTO ACADÉMICO

NOTA: Recuerde que las contraseñas deben cumplir con los estándares de
seguridad.

ACTIVIDADES – Asignar reglas de acceso

PostgreSQL controla el acceso a la base de datos a través de un archivos de reglas de


acceso llamado pg_hba.conf ubicado en el directorio /usr/local/pgsql/data,
por defecto, en ese archivo se permite el acceso a todos los usuarios a todas las bases
de datos sin necesidad de contraseña, un problema que debe ser resuelto de
inmediato.

1. Ingrese al sistema como el usuario postgres del SO y visualice el archivo


pg_hba.conf

El método de autenticación “trust” implica no pedir contraseña.

NOTA: No confundir al súper usuario postgres de la base de datos con el usuario


postgres del SO.

2. Modifique y borre las líneas necesarias para que el archivo quede de la siguiente
manera

3. Guarde el archivo y recárguelo con el siguiente comando

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA


9 UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
INSTALACIÓN DEL SERVIDOR
DBA
4. Intente entrar a la base de datos vía el comando psql y el usuario postgres y
esta vez debe solicitar una contraseña.

4. Iniciando, reiniciando y deteniendo el servicio

El DBA debe saber la forma adecuada de iniciar o detener la base de datos, en esta sección se
explican las dos maneras adecuadas de llevar a cabo estas acciones, la primera con las
herramientas que nos brinda el DBMS y la segunda con las herramientas del sistema operativo.

ACTIVIDADES – Controlar el servicio con pg_ctl

pg_ctl es una herramienta incluida en el software del DBMS que nos permite
conocer el estado del servicio, así como detenerlo, iniciarlo y reiniciarlo; además
de poder recargar los archivos de configuración. Este comando sólo puede ser
ejecutado por el usuario postgres.

1. Ingrese como el usuario postgres y ejecute el siguiente comando para


conocer el estado del servicio.

2. Para reiniciar o detener el servicio existe tres diferentes modos, y el uso de


cada uno dependerá de la urgencia o necesidad de llevar a cabo alguna de
estas acciones.

Reinicie el servicio de la siguiente manera

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA 10


UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
PSQL UNICA – UNIDAD DE SERVICIOS DE CÓMPUTO ACADÉMICO

La opción fast es por lo general la más conveniente.

Para detener el servicio

3. Para iniciar el servicio se debe ejecutar el siguiente comando

NOTA: Si la variable de entorno PGDATA no existe es necesario indicar la


ubicación del directorio data a pg_ctl con la opción –D. La lista completa
de las opciones se encuentra con pg_ctl --help.

ACTIVIDADES – Controlar el servicio con service

Haber registrado el servicio con el comando chkconfig nos permite utilizar el


comando service para manejar el estado del servicio. Lo que este comando
realizar es ejecutar scripts de inicialización del sistema ubicados en
/etc/init.d o /etc/rc.d/init.d. Este comando lo debe ejecutar como
el usuario root.

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA


11 UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012
INSTALACIÓN DEL SERVIDOR
DBA

1. Ingrese como el usuario root y ejecute el siguiente comando para conocer el


estado del servicio.

2. Para reiniciar o detener el servicio efectúe las siguientes acciones

3. Para iniciar el servicio se debe ejecutar el siguiente comando

Prohibida la reproducción y distribución de este material sin la debida autorización de UNICA 12


UNICA/DID/DBA/ADMON/EGCC Versión 2.0 04/07/2012

Anda mungkin juga menyukai